的元素假设我们有一个哈希一套类Node
定义Node
类的对象如下:检查哈希集包含与特定的散列值
class Node{
int id;
public int hash(){
return id;
}
}
我们想检查哈希集包含一个ID为n
的元素,我们如何在没有对象的情况下做到这一点?
的元素假设我们有一个哈希一套类Node
定义Node
类的对象如下:检查哈希集包含与特定的散列值
class Node{
int id;
public int hash(){
return id;
}
}
我们想检查哈希集包含一个ID为n
的元素,我们如何在没有对象的情况下做到这一点?
不能,散列码的使用是HashSet类的内部实现,但Set接口不会讨论散列码。
我建议你使用一个像地图一样的替代结构,通过id存储对象,然后你可以检查某个id是否存在。
boolean contains = mySet.contains(new Node(n));
这一个可以工作,但它很昂贵 –
我依赖于构造函数中做了什么(请参阅,例如http://programmers.stackexchange.com/questions/149563/should-we-avoid-object-creation-in-java) – agad
你尝试过什么吗?它工作吗? – 2013-10-24 06:31:54
其实我问的原因是我没有找到任何东西。 –