实现Collection 接口
* List 接口
常用方法:add
,get
- ArrayList 访问任意位置效率高,增删效率可能会低
- LinkedList 双向链表,两端效率高
* Set 接口
常用方法:add
,contains
(判断有无)
-
HashSet 不重复、无序。(内部使用 HashMap 的键这一列来存放数据)
- LinkedHashSet 继承自HashSet,用链表维护元素之间的顺序
- TreeSet 不重复、有序。(内部使用 TreeMap 的键这一列来存放数据)
实现Map 接口
常用方法:put
,get
-
HashMap 内部存储结构:哈希表(散列表)。键无序、不重复。
- LinkedHashMap 继承自HashMap, 底层额外维护了一个双向链表来维持数据有序。
- WeakHashMap 改进的HashMap,对key实行“弱引用”
- TreeMap 内部存储结构:二叉树(红黑树)。键有序、不允许null。
- ConcurrentHashMap 线程安全
- Hashtable 线程安全,元素不可为空