[2025.1.13 JavaSE学习]集合-9(开发中如何选择集合实现类?)
在开发中,选择集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择,分析如下:
- 先判断存储的类型(一组对象 or 一组键值对)
- 一组对象【单列数据】:Collection接口
- 允许重复:List
- 增删多:LinkedList(双向链表)
- 改查多:ArrayList(Object类型可变数组)
- 不允许重复:Set
- 无序:HashSet(底层为HashMap,维护了哈希表,即(数组 + 链表 + 红黑树))
- 排序:TreeSet(自定义匿名内部类比较器)
- 插入和取出顺序一致:LinkedHashSet(维护了数组 + 链表 + 红黑树)
- 允许重复:List
- 一组键值对【双列数据】:Map接口
- key无序:HashMap(底层为哈希表 jdk7:数组 + 链表/jdk8:数组 + 链表 + 红黑树)
- key排序:TreeMap(自定义匿名内部类比较器)
- key插入和取出顺序一致:LinkedHashMap
- 读取文件:Properties