HashMap里面hashCode的原理

HashMap里面hashCode的原理。

HashMap的结构:维护一数组,数组上存储的是一个EntryKEY-VALUE)的链表。每次put()一个key-value的值,会先使用key通过hash算法、数组长度,生成一个int的下标,然后查看数组该下标下是否已经有值,即判断数组该下标位置下的链表是否有值。如果没有,就直接插入到该位置的链表上,否则,就比对该位置的链表有没有存在该key,通过迭代链表对比key的值(e.hash == hash && ((k = e.key) == key || key.equals(k))),如果存在该key,就替换value,不然在链表后面插入该key-value的entry。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章