|
集合类 |
Key |
Value |
Super |
说明 |
|
Hashtable |
不允许为 null |
不允许为 null |
Dictionary |
线程安全 |
|
ConcurrentHashMap |
不允许为 null |
不允许为 null |
AbstractMap |
锁分段技术(JDK8:CAS) |
|
TreeMap |
不允许为 null |
允许为 null |
AbstractMap |
线程不安全 |
|
HashMap |
允许为 null |
允许为 null |
AbstractMap |
线程不安全 |
反例:由于 HashMap 的干扰,很多人认为 ConcurrentHashMap 是可以置入 null 值,而事实上,存储 null 值时会抛出 NPE 异常

本文详细介绍了Java中几种主要的集合类,包括Hashtable、ConcurrentHashMap、TreeMap和HashMap等,并对比了它们对于键值是否允许null值的支持情况,以及线程安全性特点。特别指出ConcurrentHashMap虽然采用锁分段技术提高并发性能,但并不支持null值。
1736

被折叠的 条评论
为什么被折叠?



