Collection接口
集合的继承树:
这是在网上找的集合的继承树,够详细了哈,但是对于一个初学者来说,这太吓人了。于是我自己画了一个Collection系的简易版,Map系的以后补。
Collection继承树的简易版:
Queue暂时先不讲(因为还不是很清楚);主要掌握List系的ArrayList、LinkedList、Vector,Set系的HashSet、TreeSet。
先说Collection这个接口吧。
基本概念:
-
集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许。 有些被命令和其他无序。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口的实现,如
Set
和List
。 该界面通常用于传递集合,并在需要最大的通用性的情况下对其进行操作。说的啥?
很多集合都是直接或者间接实现该接口,Map系的不是哈。主要分为两块,
Set
和List
,list是有序,有下标,可重复的一类接口。Set是无序的,无下标的,不可重复的一类接口。 在传输数据的时候,因为Collection有最大的通用性,可以传它达到比较广的适用性。
Collection没有直接实现类。都是间接实现。
特点:无序,无下标,可重复。
共性方法
-
-
boolean
add(E e)
确保此集合包含指定的元素(可选操作)。boolean
addAll(Collection c)
将指定集合中的所有元素添加到此集合(可选操作)。void
clear()
从此集合中删除所有元素(可选操作)。boolean
contains(Object o)
如果此集合包含指定的元素,则返回true
。boolean
containsAll(Collection c)
如果此集合包含指定集合
中的所有元素,则返回true。boolean
equals(Object o)
将指定的对象与此集合进行比较以获得相等性。int
hashCode()
返回此集合的哈希码值。boolean
isEmpty()
如果此集合不包含元素,则返回true
。Iterator
iterator()
返回此集合中的元素的迭代器。default Stream
parallelStream()
返回可能并行的Stream
与此集合作为其来源。boolean
remove(Object o)
从该集合中删除指定元素的单个实例(如果存在)(可选操作)。boolean
removeAll(Collection c)
删除指定集合中包含的所有此集合的元素(可选操作)。default boolean
removeIf(Predicate filter)
删除满足给定谓词的此集合的所有元素。boolean
retainAll(Collection c)
仅保留此集合中包含在指定集合中的元素(可选操作)。int
size()
返回此集合中的元素数。default Spliterator
spliterator()
创建一个Spliterator
在这个集合中的元素。default Stream
stream()
返回以此集合作为源的顺序Stream
。Object[]
toArray()
返回一个包含此集合中所有元素的数组。T[]
toArray(T[] a)
-
基本上就是这些了。
至于Collections工具类就多查API吧
什么,reverse() 反转元素顺序;
shuffle()随机重置元素顺序;
sort()排序。