选用正确集合类型
选用依据:根据实际的需求结合上每个集合类型的特点来选择最优的集合操作数据。
如果我们需要根据键值获取元素值时就选用Map接口下的集合,需要排序时选择TreeMap,不需要排序时选择HashMap,需要保证线程安全时就选用线程安全的ConCurrentHashMap.
如果我们只需要存放元素值时,就选择实现Collection下的接口集合,保证元素唯一时选择Set接口下的集合如TreeSet和HashSet,不需要就选择List接口下的ArrayList或LinkedList。
集合框架底层数据结构
- Collection
1.List
ArrayList:Object数组
Vector:Object数组
LinkedList:双向链表
2.Set
HashSet(无序,唯一):基于HashMap实现的,底层采用HashMap来保持元素
LinkedHashSet:
TreeSet(有序,唯一):红黑树 - Map
1.HashMap:数组+链表,超出链表长度(默认8)时,链表转红黑树。
2.TreeMap:红黑树