簡體   English   中英

我怎樣才能使HashSet作為HashMap的參數?

[英]How could i make HashSet as parameter to the HashMap?

我必須維護HashMap中每個鍵值的索引列表。 所以我宣布HashMap為

HashMap<Integer,HashSet<Integer> hset = new HashSet<Integer>()> hm = new HashMap<Integer,HashSet<Integer> hset = new HashSet<Integer>()>(); 但以上聲明似乎不正確。 所以我宣布為

HashSet<Integer> hset =  new HashSet<Integer>();

但是這里的問題是,我該如何聲明存儲在HashSet中的對象的類型,即Integer,因為在上面的聲明中HashSet是rawtype。

這是你的聲明應該看起來像

HashMap<Integer,HashSet<Integer>> map = new HashMap<Integer>,HashSet<Integer>>

您為Hashset提供的第二個聲明是正確的。 它不是原始類型。 您是否嘗試過向其添加任何其他類型的元素?

我想在這里添加更多內容,您需要像下面這樣初始化外部地圖

HashMap<Integer,HashSet<Integer>> map =  new HashMap<Integer,HashSet<Integer>>();

像這樣的內部收藏

HashSet<Integer> hset =  new HashSet<Integer>();

然后在map和哈希集中插入如下所示的值。

hset.add(1);
hset.add(2);
map.put(100,hset); 

hset =  new HashSet<Integer>();
hset.add(3);
hset.add(4);
map.put(101,hset); 

因此,每次您需要將HashSet的新實例放入地圖中時。

您可以使用插入的Map鍵獲取內部HashSet。

 HashSet<Integer> hset=map.get(100); //Same map

試試這個將起作用:

Map<Integer, Set<Integer>> map = new HashMap<Integer, Set<Integer>>();

您可以輕松地僅使用Map標簽進行設置。

要么

  • 創建Hashmap對象, Hashmap從Refrence中輸入值。 它會工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM