JDK 11 阅读 - Collection

Overview

Collection 是根接口


  • 只有一个compareTo接口方法

  • 有hasNext和next方法
  • 还有一个default的remove方法,但没有实现,只是抛出异常

无序、不能重复

方法如下: size / isEmpty / contains / iterator / toArray / add / remove / containsAll / addAll retainAll (保留这部分,其他del)/ removeAll(Collection) / clear / equals / hashCode spliterator (default 此处返回Spliterators.spliterator)/ of(返回无法修改的set)

JAVA Debug Interface ,忽略

  • 扩展自Set
  • 声明按升序排序的集合🌟
  • 方法:comparator / subSet / headSet / tailSet / first / last / spliterator
  • 扩展自SortedSet
  • TreeSet实现了NavigableSet,间接实现了SortedSet
  • 提供了lower/floor/ceiling/pollFirst/pollLast/Higher/Lower/DescendingIterator 等导航以及返回满足条件的元素功能。
  • 扩展自AbstractSet

  • 实现了set,Cloneable,Serializable接口

  • 里面自带Hashmap实例,大部分操作是通过hashmap实现的

  • add等涉及的元素扩张没有涉及,都在hashmap对象里

  • HashSet从一个Collection 初始化HashMap,Loadfactor 0.75,初始化大小为Math.max((int) (c.size()/.75f) + 1, 16)

  • 初始化时可以指定initialCapacity以及初始化时,Loadfactor


有序、可重复