JDK1.7中HashMap基于数组、链表实现。JDK1.8引入了红黑树。
执行存取操作时,首先计算key的hash值,然后mod哈希桶数组的长度,
确定该键值对的存储位置。每个数组元素对应一个链表,若链表长度大于
8,则转变为红黑树(1.8新特性)。若键值对的数量大于容量,则执行扩
容操作。容量=哈希桶数组长度*负载因子。一般是0.75.
http://tech.meituan.com/java-hashmap.html