HashMap底层实现还是数组,只是数组的每一项都是一条链。
HashMap实质是Entry数组。
链表是为了解决哈希冲突而存在的,但使用哈希函数对key计算存储位置时,如果位置有冲突,则在该位置建立起一条链。
当链表长度超过初始长度时,数组就会进行扩容到原来的两倍,这个过程叫做rehashing。
HashMap可以接受null键值和值,而HashTable则不能,HashMap是非synchronized的;存储的是键值对。