体系图
我们先来看下集合体系图
再来看下集合框架体系图
Collection是最基本的集合接口
List
List比较常用的有ArrayList和LinkedList,还有一个比较类似的Vector。
1、ArrayList
内部是使用动态数组来实现的,对于数据的随机get和set或是少量数据的插入或删除,效率会比较高。ArrayList是线程不安全的,在不考虑线程安全的情况下速度也比较快的。ArrayList插入数据可以重复,也是有序的,按照插入的顺序来排序。
2、LinkedList
内部是使用链表的形式来实现的,在插入大量数据的时候效率比较快。 查询数据使用二分查找法。
3、Vector
Vector的使用方法和内部实现基本和ArrayList相同,只不过它在add(), remove(), get()等方法中都加了同步。所以它是线程安全的。但是使用效率上就不如ArrayList了。
Set
一般使用的有TreeSet和HashSet。
1、TreeSet
TreeSet是根据二叉树实现的,也就是TreeMap, 放入数据不能重复且不能为null,可以重写compareTo()方法来确定元素大小,从而进行升序排序。
public class DataType