2013-10-24 91 views
0

的元素假設我們有一個哈希一套類Node定義Node類的對象如下:檢查哈希集包含與特定的散列值

class Node{ 
    int id; 
    public int hash(){ 
    return id; 
    } 
} 

我們想檢查哈希集包含一個ID爲n的元素,我們如何在沒有對象的情況下做到這一點?

+0

你嘗試過什麼嗎?它工作嗎? – 2013-10-24 06:31:54

+0

其實我問的原因是我沒有找到任何東西。 –

回答

1

不能,散列碼的使用是HashSet類的內部實現,但Set接口不會討論散列碼。

我建議你使用一個像地圖一樣的替代結構,通過id存儲對象,然後你可以檢查某個id是否存在。

1
boolean contains = mySet.contains(new Node(n)); 
+0

這一個可以工作,但它很昂貴 –

+0

我依賴於構造函數中做了什麼(請參閱,例如http://programmers.stackexchange.com/questions/149563/should-we-avoid-object-creation-in-java) – agad