此文章是看别的大牛整理之后,自己学习进行消化后,对子自己的理解和得到的内容的一个总结。
接口Collection
Collection是java.util下的一个接口,它继承的类是
Iterable<E>。它是关于集合方面的一个跟接口,
也就是java中所有处理集合的数据方面都是直接或者间接实现Collection接口。其中java中提供了详细的Collection的API。
Collection接口有很多的子接口,其中包括最常用的子接口就是List和Set。
所以,针对List和Set的联系在于,它们都是Collection的
子接口。
至于区别在于哪里,下面做一下详细的介绍。
List:这个接口能够精准的记录每一个元素的插入位置(换句话说就是这个接口内容所有元素是按照顺序去保存的),使用者可以通过索引的方式去取得某个元素的值,这个跟java中数组有点类似,List中保存的所有数据允许重复。
Set:这个接口无法记录每一个元素的具体位置,整个集合中所有元素是无序排列的,并且Set存储数据集合是不允许有重复的元素的。
既然List和Set均为接口,那么就不能直接实例化,需要借助实现他们接口的子类进行实例化,由此来使用接口中提供的各种方法。
实现List接口的子类中包括:
ArrayList
,
LinkedList
和
Vector。其中ArrayList这个类是类似数组形式的集合实例化,而LinkedList类则是链表形式的实例化,具体的差别在于数据结构上面的不同。Vector 类非常类似ArrayList,两者的不同之处在于Vector是同步的方法,在多线程操作的时候可能会抛出ConcurrentModificationException。
实现Set接口的子类中包括:HasSet。