HashMap是基于哈希表的Map接口的非同步的KV数据结构,此类容许null的键和null的值,它不保证映射顺序,特别是不保证该顺序永久不变,新增数据时,将覆盖相同key的数据。数组
HashMap是由数组+链表组成,在jdk1.8中它是由数组+链表+红黑树组成,其结构以下:数据结构
基于HashMap的扩展spa
一、 红黑树对象
二、 HashCode接口
三、 Equalsget
四、 << 、>>、>>>运算同步
五、 & 、^ 、~、| 位运算io
六、 接口和抽象类(Map和AbstractMap)class
七、 Transient关键字效率
八、 泛型
九、 Integer等基础数据类型对应的对象
十、Serializable接口
十一、Cloneable 接口
十二、serialVersionUID的做用
1三、static
1三、final
1四、内部类,如static class Node<K,V>
1五、相似HashMap的同步实现ConcurrentHashMap