HashMap:
JDK1.7中 HashMap的底层实现采用的是Entry的链表数组(哈希桶数组)。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对和一个指向下一个Entry的引用next。
在常规构造器中,没有为数组table分配内存空间(有一个入参为指定Map的构造器例外),而是在执行put操作的时候才真正构建table数组(即哈希桶数组是懒惰初始化的)。
在JDK 1.8里加入了红黑树的实现,当链表的长度大于8时,转换为红黑树的结构。