Java集合详解(四):HashMap原理解析
概述
本文是基于jdk8_271版本进行分析的。
HashMap是Map集合中使用最多的。底层是基于数组+链表实现的,jdk8开始底层是基于数组+链表/红黑树实现的。HashMap也会动态扩容,与ArrayList不同的是,HashMap有一个阈值字段,元素数量达到阈值之后就会进行扩容。HashMap允许key为null。同时HashMap也是线程不安全的。
数据结构
-
实现继承关系
1 public class HashMap<K,V> extends AbstractMap<K,V> 2 implements Map<K,V>, Cloneable, Serializable