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