HashMap

HashMap

哈希表使用的是 数组加链表的方式存储元素,具体如下:

  1. 通过hash(key)与数组长度运算,hash(key)&(length-1), 获取新元素在数组中的位置

    • 如果数组中该位置上没有元素,那么新元素直接被放置在这个位置

    • 如果数组中该位置上已经有元素,那么新元素被放在以这个元素开始的链表上, 进入第2步

  1. 遍历链表上的所有元素,比较hash值与key值,只有两者都相同的情况下,才认为找到相应的位置,如果该位置上有值了,则可以选择替换或不进行操作; 如果一直到链表的末尾都没有找到相应的元素,则在链表末尾添加相应的元素.

查找哈希表中的元素时,过程与上面大致相同,不做进一步描述.

您的支持将鼓励我继续创作!