当前位置:  开发笔记 > 编程语言 > 正文

Java使用什么来确定密钥是否在Map中是重复的?

如何解决《Java使用什么来确定密钥是否在Map中是重复的?》经验,为你挑选了1个好方法。

我的第一直觉是说每个键都是一个对象,并且有一个哈希码,用于确定是否插入了一个副本.但是,我找不到任何可以支持的东西.有人可以提供一个说明的链接,或在这里提供真正的答案吗?谢谢!



1> Dave L...:

Map接口规定,如果两个键是null它们是重复的,否则,如果有一个关键k,从而key.equals(k),然后有一个重复.请参阅此处的contains或get方法:

http://java.sun.com/javase/6/docs/api/java/util/Map.html#containsKey(java.lang.Object)

但是,由Map实现如何执行该检查,并且HashMap将使用哈希代码来缩小它将使用该equals方法检查的潜在密钥.因此在实践中,对于典型的基于散列的映射,为了检查重复,映射将采用散列码(可能是mod某种大小),并且用于equals与任何其相同大小的散列码mod给出相同余数的键进行比较.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有