深入理解HashMap底层原理剖析-JDK1.8


HashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为nullHashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用CollectionssynchronizedMap方法使HashMap具有线程安全的能力,或者使用ConcurrentHashMap

1、HashMap 存储结构

HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分) 实现的,如下图所示:
[java基础] 04 - 深入理解HashMap

相关文章: