Java集合关键词汇总(分模块,纯关键词)-cnblog

面试关键词汇总(分模块,纯关键词)

通用集合基础

Collection、Map、List、Set、有序、可重复、key唯一
modCount、expectedModCount、fail-fast、ConcurrentModificationException
迭代器remove、fail-safe、弱一致性
Collections、SynchronizedList、mutex全局锁
CAS、乐观锁、synchronized、悲观锁、锁粒度
volatile、可见性、COW写时复制、快照、OOM
LRU、removeEldestEntry

List

ArrayList

Object动态数组、懒加载、默认容量10、1.5倍扩容、System.arraycopy
随机访问O(1)、中间增删O(n)、线程不安全、数组越界、数据丢失

LinkedList

双向链表、Node、前驱后继、无扩容、首尾增删O(1)、随机查询O(n)、栈、队列、内存碎片

Vector

2倍扩容、方法加synchronized、废弃

CopyOnWriteArrayList

ReentrantLock、读无锁、volatile数组引用、数组完整拷贝、无modCount、不抛并发修改异常、读多写少

Set

HashSet

底层HashMap、PRESENT、hashCode+equals、无序、线程不安全

LinkedHashSet

底层LinkedHashMap、双向链表、插入有序

TreeSet

底层TreeMap、红黑树、Comparable、比较器、自动排序、O(logn)、不可存null

CopyOnWriteArraySet

底层CopyOnWriteArrayList、addIfAbsent、O(n)去重、线程安全

Map

HashMap JDK8

数组+链表+红黑树、初始容量16、2的幂、负载因子0.75、hash扰动函数
哈希桶、链表≥8树化、≤6退链、resize扩容2倍、尾插法
允许一个null key、并发不安全、JDK7头插死循环、size非原子

LinkedHashMap

继承HashMap、双向链表、accessOrder、插入顺序、访问顺序、LRU本地缓存

TreeMap

红黑树、key排序、区间查询、key不能null、O(logn)

Hashtable

全局synchronized、扩容2倍、不允许null键值、淘汰

ConcurrentHashMap JDK8

CAS+synchronized桶锁、无全局锁、table volatile、ForwardingNode、transfer多线程协助扩容
nextTable、不允许key/value null、无modCount、批量操作弱一致性、高并发首选

posted @ 2026-07-20 12:01  alij  阅读(3)  评论(0)    收藏  举报