Java常用集合与特点

集合类型 特点 继承关系
ArrayList 动态数组,可以根据需要自动调整容量,支持随机访问和快速插入删除 AbstractCollection -> AbstractList
LinkedList 双向链表,支持快速插入删除,但访问元素较慢 AbstractCollection -> AbstractSequentialList -> AbstractList
Vector 动态数组,类似于ArrayList,支持动态增长,线程安全 AbstractCollection -> AbstractList
CopyOnWriteArrayList 动态数组,线程安全,适用于并发环境 AbstractCollection -> AbstractList
Stack 栈,后进先出的数据结构 AbstractCollection -> AbstractList -> Vector
HashSet 无序集合,不允许重复元素,基于哈希表实现,插入和查找速度快 AbstractCollection -> AbstractSet
TreeSet 有序集合,不允许重复元素,基于红黑树实现,插入和查找速度较快 AbstractCollection -> AbstractSet
HashMap 键值对映射表,不允许重复键,基于哈希表实现,插入和查找速度快 AbstractMap
TreeMap 键值对映射表,不允许重复键,基于红黑树实现,按键的自然顺序排序 AbstractMap
LinkedHashMap 有序键值对映射表,不允许重复键,基于哈希表和双向链表实现,按插入顺序排序 AbstractMap -> HashMap
PriorityQueue 优先队列,使用堆实现,可以按照元素的优先级进行排序 AbstractCollection -> AbstractQueue
Queue 队列,先进先出的数据结构 Interface Iterable -> Interface Collection -> Interface Queue
Hashtable 键值对映射表,不允许重复键,线程安全 Dictionary
EnumSet 枚举集合,只能存储枚举类型的元素 AbstractCollection -> AbstractSet
ConcurrentHashMap 键值对映射表,线程安全,适用于并发环境 AbstractMap
ConcurrentSkipListSet 有序集合,线程安全,适用于并发环境 AbstractCollection -> AbstractSet -> ConcurrentSkipListSet
ConcurrentLinkedDeque 双端队列,线程安全,适用于并发环境 AbstractCollection
LinkedBlockingQueue 阻塞队列,线程安全,适用于并发环境 AbstractCollection -> AbstractQueue
PriorityBlockingQueue 优先队列,线程安全,适用于并发环境 AbstractCollection -> AbstractQueue
ArrayBlockingQueue 有界阻塞队列,线程安全,适用于并发环境 AbstractCollection -> AbstractQueue
LinkedHashSet 有序集合,不允许重复元素,基于哈希表和双向链表实现,按插入顺序排序 AbstractCollection -> AbstractSet -> HashSet
IdentityHashMap 键值对映射表,使用引用相等判断键的相等性,而不是使用equals()方法 AbstractMap
WeakHashMap 键值对映射表,使用弱引用作为键,当键不再被引用时,可以被垃圾回收 AbstractMap
EnumMap 键值对映射表,只能存储枚举类型的键,基于数组实现 AbstractMap
Properties 键值对映射表,用于处理属性文件 Dictionary
BitSet 位集合,可以进行位操作,用于存储和操作位数据 AbstractCollection

欢迎关注公众号【码上猎人】(*`▽´*) 来呀,开源万岁!

猜你喜欢

转载自blog.csdn.net/rice2020/article/details/131581390
今日推荐