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