从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的。

HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安 全。ConcurrentHashMap线程安全。解决碰撞:当出现冲突时,运用拉链法,将关键词为同 义词的结点链接在一个单链表中,散列表长m,则定义一个由m个头指针组成的指针数组T, 地址为i的结点插入以T(i)为头指针的单链表中。Java8中,冲突的元素超过限制(8),用红 黑树替换链表。