我的第一本能就是说每个键都是一个对象,并且有一个哈希码,这是用来确定是否插入一个重复的东西.但是,我肯定找不到任何东西.有人可以提供一个链接,或者提供真正的答案吗?谢谢!
解决方法
Map接口指定如果两个键为空,则它们是重复的,否则如果存在key.equals(k)的密钥k,则存在重复.看到包含或获取方法在这里:
http://java.sun.com/javase/6/docs/api/java/util/Map.html#containsKey(java.lang.Object)
但是,由Map执行如何执行该检查,而HashMap将使用哈希码来缩小使用equals方法检查的潜在密钥.所以在实践中,对于典型的基于散列的地图,为了检查重复的地图,地图将采用哈希码(可能会调制一些大小),并且使用equals来比较与其哈希码模式相同大小给出相同余数的任何密钥.