一、Collection简述
Collection为集合的接口,JDK没有提供其实现类;
1、Collection具有两个比较常用的子接口,List和Set;
2、List接口用于存储有有序的可重复的元素,Set接口用于存储无序的不可重复的元素;
3、List接口比较常用的实现类有ArrayList和LinkedList,ArrayList的底层实现是数组,储存在一段连续的内存空间中,具有索引,具有增删慢和查询快的特点;LinkedList的实现是在其内部具有Node的内部类,该类具有element、previous、next成员变量,在LinkList中添加元素时,会创建一个Node的对象并初始化这三个成员变量,因此可以从LinkedList中的任何一个元素找到其向上和向下的相邻的元素,LinkList具有增删快、查询慢的特点;
4、Set接口的比较常用的实现类是HashSet,其实现原理是数组、链表和哈希表(数组上的每个位置是一个链表),在添加元素时计算该元素的哈希值确定在数组上的位置,然后检查该位置上是否有元素,如果没有,则将该元素添加在该位置,如果该位置有元素,则逐一检查该位置上的链表中是否有盖元素,如果没有则添加到最后一个节点,否则不添加;
2、Collection中的常用方法
1、增
add(E e)---boolean,向集合中添加元素e(确保集合对象中有元素e);
注:如果在ArrayList对象中添加元素e,返回值永远为true;如果向HashSet对象中添加元素e,若e不存在,返回true,否则返回false.
add(Collection<? extends E> c)---返回boolean,将指定集合的所有元素添加到集合中;
2、删
remove(object o)---boolean,删除集合中的指定元素;
注:如果是ArrayList和LinkList对象删除元素o,遍历元素,仅删除第一个;
clear()---void,清空集合;
3、size()
int,返回集合中的元素个数;
4、isEmpty()
来源:https://www.cnblogs.com/wypzpz/p/12275354.html