Collection 接口是 List 接口和 Set 接口的父接口,通常情况下不被直接使用。Collection 接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作。因为 List 接口和 Set 接口继承自 Collection 接口,所以也可以调用这些方法。

                                                                         Collection 接口常用的方法

方法名称

说明

boolean add(E e)

向集合中添加一个元素,E 是元素的数据类型

boolean addAll(Collection c)

向集合中添加集合 c 中的所有元素

void clear()

删除集合中的所有元素

boolean contains(Object o)

判断集合中是否存在指定元素

boolean containsAll(Collection c)

判断集合中是否包含集合 c 中的所有元素

boolean isEmpty()

判断集合是否为空

Iterator<E>iterator()

返回一个 Iterator 对象,用于遍历集合中的元素

boolean remove(Object o)

从集合中删除一个指定元素

boolean removeAll(Collection c)

从集合中删除所有在集合 c 中出现的元素

boolean retainAll(Collection c)

仅仅保留集合中所有在集合 c 中出现的元素

int size()

返回集合中元素的个数

Object[] toArray()

返回包含此集合中所有元素的数组

Set集合:常用java数组中存储任何不重复元素的,无序的集合。

Map集合:是一种键值对(key-value)集合,map集合中的每一个元素都包含一个键对象和一个值对象,其中键对象不允许重复,值对象可以重复,并且值对象还可以是一个map类型,就像数组中的元素还可以是一个数组。
          map接口主要实现hashMap和TreeMap 两个实现类。其中HashMap按照哈希算法来存取键对象。TreeMap类可以对键对象进行排序。

List集合:List 接口实现了 Collection 接口,它主要有两个实现类:ArrayList 类和 LinkedList 类。在 List 集合中允许出现重复元素。与 Set 集合不同的是,在 List 集合中的元素是有序的,可以根据索引位置来检索 List 集合中的元素,第一个添加到 List 集合中的元素的索引为 0,第二个为 1,依此类推。
                ArrayList 类提供了快速的基于索引的成员访问方式,对尾部成员的增加和删除支持较好。使用 ArrayList 创建的集合,允许对集合中的元素进行快速的随机访问,不过,向 ArrayList 中插入与删除元素的速度相对较慢。
                LinkedList 类采用链表结构保存对象,这种结构的优点是便于向集合中插入或者删除元素。需要频繁向集合中插入和删除元素时,使用 LinkedList 类比 ArrayList 类效果高,但是 LinkedList 类随机访问元素的速度则相对较慢。这里的随机访问是指检索集合中特定索引位置的元素。