如何选择集合

135 阅读1分钟

在开发过程中,选择什么集合实现类,主要取决于业务特性,然后根据集合实现类的特性进行选择,以下是一些参考分析:

  1. 首先判断存储的数据类型(一组对象【单列】/ 一组键值对【双列】)
  2. 一组对象【单列】:Collection
    • 允许重复:List
      • 增删多: LinkedList [底层维护了一个双向链表]
      • 改查多: ArrayList [底层维护了一个数组]
    • 不允许重复: Set
      • 无序: HashSet [底层是HashMap]
      • 有序: TreeSet
      • 插入和取出顺序一致: LinkedHashSet [底层维护了数组+双向链表]
  3. 一组键值对【双列】:Map
    • 键无序: HaspMap [jdk1.7底层维护了数组+链表 / jdk1.8往后底层维护了数据+链表+红黑树]
    • 键排序: TreeMap
    • 键插入和取出顺序一致: LinkedHashMap
    • 读取文件: Properties