集合类型 | 特点 | 继承关系 |
---|---|---|
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 |
欢迎关注公众号【码上猎人】(*`▽´*) 来呀,开源万岁!