HashMap
在不考虑哈希冲突的情况下,HashMap的增加,删除,查找元素的时间复杂度都为O(1)。效率十分的高。
哈希表的主干是数组。
在增加时把当前的元素时把当前元素的关键字通过哈希函数映射到数组中的某个位置,查找时通过哈希函数确定下标,再直接通过下标获取数组指定元素。
当通过哈希函数计算一个并得到一个元素的下标,但是发现该下标对应位置已经被别的元素占据,这就是所谓的哈希冲突,也叫哈希碰撞。
哈希冲突的解决方法主要有:
1.开放地址法(发生冲突,继续寻找下一块未被占据的地址)
2.再散列函数法。
3.链地址法。
HashMap采用链地址法(数组加链表)解决哈希冲突。