Collection 概览
java 容器有两类, 第一类是 Collection, 存储的是对象的集合; 第二类是 Map, 存储的是键值对 (两个对象以及它们之间的对应关系) 的集合
Collection 接口下面有三个子接口: Set,List,Queue
Set: 存储的元素无序, 不允许重复
1,TreeSet: 用红黑树实现, 支持有序性操作, 读取设置元素的代码复杂度为 O(logN)
2,HashSet: 用哈希表实现, 但是不能维护对象插入顺序, 读取元素的代码复杂度为 O(1)
3,LinkedHashSet: 用哈希表实现, 且内部用一个链表来维持对象插入顺序
List: 存储的元素有序, 允许重复
1,ArrayList: 动态数组实现, 非线程安全, 支持下标随机访问, 增加和删除元素都要移动其他元素
2,Vector: 和 ArrayList 内部实现基本相同, 但是为方法都加了 synchronize 控制, 因此是线程安全的, 但是读写效率比 ArrayList 低
3,LinkedList: 双向链表实现, 不支持随机访问, 增加和删除元素方便, 读取元素需遍历. 同时 LinkedList 还实现了 Queue 接口, 因此也可以做栈, 队列, 双向队列使用
Queue: 存储的元素有序且按照先进先出的特点, 允许重复
1,LinkedList
2,PriorityQueue: 不是按照队列的插入顺序来确定先进先出顺序
来源: http://www.bubuko.com/infodetail-3096884.html