参考博客:http://lib.csdn.net/article/javase/3730?knId=209
参考博客:http://lib.csdn.net/article/javase/3341
参考博客:http://lib.csdn.net/article/javase/63412
一、List接口————ArrayList、LinkedList、Vector
List元素是有序的,元素可以重复。因为该集合体系有索引。由于底层数据结构不同,有三个子类。
- ArrayList:底层数据结构使用的是数组结构。特点:查询速度快,但增删稍慢。线程不同步(建议使用)。
- LinkedList:底层的数据结构是链表数据结构。特点:增删的速度快,查询稍慢
- Vector:底层是数组数据结构。线程同步。
- ArrayList默认长度是10,超出长度时,50%延长。
- Vector默认长度是10,超出长度时,100%延长。
二、Set接口———HashSet、TreeSet
Set元素是无序的,元素不可以重复。该集合体系无索引。Set集合的功能和Collection是一致的。
- HashSet:底层数据结构是哈希表。线程是非同步的。
- TreeSet:可以对Set集合中的元素进行排序。按照字母的自然顺序排序。底层数据结构是二叉树,保证元素唯一性的依据是compareTo方法return 0。