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