的元素假設我們有一個哈希一套類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
其實我問的原因是我沒有找到任何東西。 –