例如,ht.put(“A”,0);哈希码是65.我如何搜索哈希表以查看哈希码为65的密钥是否存在?
答案 0 :(得分:1)
您可以构造一个类,其哈希码是有问题的代码:
public class HashCodeWrapper {
private final int hashCode;
public HashCodeWrapper(int hashCode){
this.hashCode = hashCode;
}
@Override
public int hashCode(){
return hashCode;
}
@Override
public boolean equals(Object o){ return this.hashCode == o.hashCode(); }
}
然后,您可以将其传递到Hashtable#get(Object)
。
请注意,可能存在哈希冲突,在这种情况下,结果将是具有此哈希码的任何结果。但是,使用空检查,这足以检查是否存在此哈希码。
答案 1 :(得分:0)
要实现这一点,您必须遍历地图的entrySet()
并检查每个key()
的{{1}}与您要检查的部分值,hashCode()
在您的示例中:
65