集合特点和应用场景

70 阅读1分钟

集合中list map和set的区别

单链集合

1.ArrayList,LinkedList,HashSet,TreeSet

双链集合

2. HashMap,TreeMap

是结合了哈希表和双向链表的数据结构

3. LinkedHashMap

集合中list map和set的应用场景和特点

ArrayList的集合特点是:

  1. 允许重复元素,并按插入顺序储存
  2. 基于数组实现,支持随机访问
  3. 插入和删除效率低
    • 底层结构:动态数组。
      ArrayList应用场景
  4. 需要频繁随机访问元素的场景,列如根据索引获取数据
  5. 数据量相对固定或增长不频繁的场景

- LinkedList的集合特点是:

  1. 插入和删除效率高
  2. 不支持随机访问
  3. 允许重复元素,并按插入顺序储存
  4. 底层结构:双向链表
- LinkedList应用场景
  1. 需要频繁插入和删除操作的场景
  2. 实现队列或双向队列的场景
- HashSet的集合特点是:
  1. 不允许重复元素
  2. 无序储存(不保证插入顺序)
  3. 查找效率高(基于哈希表现实现)
  4. 底层结构:基于HashMap实现
- HashSet应用场景
  1. 需要去重的场景
  2. 快速判断哪个元素是否存在的场景
- TreeSet的集合特点是:
  1. 定制排序
  2. 自然排序
- TreeSet应用场景
  1. 需要频繁地执行范围查询
  2. 当从多个来源收集数据并希望去除重复项,同时还需要对结果进行排序时