gpt4 book ai didi

java - 如果 ArrayMap 或 SparseArray 中的键散列存在冲突怎么办?

转载 作者:行者123 更新时间:2023-12-02 05:56:06 24 4
gpt4 key购买 nike

我读过很多关于数组映射和稀疏数组的博客,我在每个地方都得到了这些

ArrayMap contains two small array instead of one in a HashMap. The first array (Hash-Array) contains the specified hash keys in sorted order. The second array (Key Value Array) stores the keys and values of the objects according to the first array. For reference below link is given https://android.jlelse.eu/app-optimization-with-arraymap-sparsearray-in-android-c0b7de22541a

但是我没有得到如果我在数组映射中与 HashMap 中的两个不同键具有相同的哈希代码会发生什么,如果有相同的键哈希(冲突),它会在链接列表中附加键值对对于下一个项目的给定存储桶位置。

最佳答案

与 ArrayMap 中的 hashMap 不同,当发生哈希冲突时,它不是将键值对附加到给定存储桶位置的链表中,而是将下一个项目的值放入第二个数组中的下一个可用位置。对于搜索,当发生哈希冲突时,它会遍历第二个数组,直到找到所需的值

这里在提供的文档中进行了描述:

When we fetch an item, a binary-search is done on the Hash-Array to find a matching hash the index and then directly return the key-value pair from the second array (Key Value Array). If the key in the second array (Key Value Array), doesn’t match then a linearly walk is done over the second array (Key Value Array) to resolve the collision.

关于java - 如果 ArrayMap 或 SparseArray 中的键散列存在冲突怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60051979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com