Java常见的容器
...大约 2 分钟Java基础
- Collection(集合):用于存储单个对象的集合。
- Map(映射):用于存储键值对的集合。
1. Collection(集合)
Collection 是存储单个对象的容器,分为以下几种主要类型:
List(列表)
- 特点:有序、可重复。
- 常见实现类: - ArrayList:基于动态数组实现,查询快,增删慢。
- LinkedList:基于双向链表实现,增删快,查询慢。
- Vector:线程安全的动态数组,性能较差,已逐渐被- ArrayList取代。
 
Set(集合)
- 特点:无序、不可重复。
- 常见实现类: - HashSet:基于哈希表实现,查询速度快,元素无序。
- LinkedHashSet:基于哈希表和链表实现,元素按插入顺序排序。
- TreeSet:基于红黑树实现,元素按自然顺序或自定义顺序排序。
 
Queue(队列)
- 特点:先进先出(FIFO)或优先级队列。
- 常见实现类: - LinkedList:可以用作队列。
- PriorityQueue:基于堆实现,元素按优先级排序。
- ArrayDeque:基于数组实现的双端队列。
 
2. Map(映射)
Map 是存储键值对的容器,键不可重复。
常见实现类
- HashMap:- 基于哈希表实现,键值对无序。
- 允许键和值为 null。
- 查询速度快。
 
- LinkedHashMap:- 基于哈希表和链表实现,键值对按插入顺序或访问顺序排序。
- 适合需要保持插入顺序的场景。
 
- TreeMap:- 基于红黑树实现,键值对按键的自然顺序或自定义顺序排序。
- 适合需要排序的场景。
 
- Hashtable:- 线程安全的哈希表实现,性能较差,已逐渐被 HashMap取代。
- 不允许键或值为 null。
 
- 线程安全的哈希表实现,性能较差,已逐渐被 
- ConcurrentHashMap:- 线程安全的哈希表实现,性能优于 Hashtable。
- 适合高并发场景。
 
- 线程安全的哈希表实现,性能优于 
总结
Java 中常见的容器可以分为两大类:
- Collection: - List:- ArrayList、- LinkedList、- Vector。
- Set:- HashSet、- LinkedHashSet、- TreeSet。
- Queue:- LinkedList、- PriorityQueue、- ArrayDeque。
 
- Map: - HashMap、- LinkedHashMap、- TreeMap、- Hashtable、- ConcurrentHashMap。