java – 用于哈希码的桶查找的算法
发布时间:2020-12-15 04:25:45 所属栏目:Java 来源:网络整理
导读:参见英文答案 What hashing function does Java use to implement Hashtable class?????????????????????????????????????5个 在大多数情况下,HashSet具有查找复杂度O(1).我知道这是因为对象保存在与对象的哈希码相对应的桶中. 查找完成后,它直接进入存储桶
参见英文答案 >
What hashing function does Java use to implement Hashtable class?????????????????????????????????????5个
在大多数情况下,HashSet具有查找复杂度O(1).我知道这是因为对象保存在与对象的哈希码相对应的桶中. 查找完成后,它直接进入存储桶并查找(使用等于多个对象存在于同一存储桶中的元素). 我一直在想,它是如何直接进入所需的桶的?哪个算法用于存储桶查找?这对总查找时间没有任何影响吗? 解决方法
从内存:HashSet实际上由HashMap支持,基本的查找过程是:
>拿到钥匙 对于Set,只有唯一的元素.我建议阅读HashSet的源代码,它应该能够回答你的问题. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/HashMap.java#HashMap.containsKey%28java.lang.Object%29 另请注意,Java 8代码已更新,此解释涵盖了Java 8之前的代码库.我没有详细检查Java 8实现,只是发现它不同. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java源码解析之GenericDeclaration详解
- java – 为什么Kotlin使用==进行结构相等,并引入===用于引用
- 即使文件不可读,Java也可以返回file.length()
- Java基础教程之对象的方法与数据成员
- java – setContentView上的另一个资源$NotFoundException
- 我可以暂时挂起SharePoint Server IIS SQL Server吗?
- Java设计模式――工厂设计模式详解
- java – 表达式与运算符优先级的从左到右的评估.为什么从左
- 第四周课程总结&试验报告(二)
- 如何在Eclipse上运行Maven单元测试(testng)?
推荐文章
站长推荐
热点阅读