我想實現一個複雜的數據結構,看起來像操縱複雜的HashMap
Map<A,Set<B>> map = new HashMap<A,Set<B>>();
,但我不知道如何將內容添加到這個數據結構。我試圖做一個
map.put(a,b);
但這並沒有幫助,因爲它期望一套。我需要實現這個數據結構。有什麼想法嗎?
我想實現一個複雜的數據結構,看起來像操縱複雜的HashMap
Map<A,Set<B>> map = new HashMap<A,Set<B>>();
,但我不知道如何將內容添加到這個數據結構。我試圖做一個
map.put(a,b);
但這並沒有幫助,因爲它期望一套。我需要實現這個數據結構。有什麼想法嗎?
您需要包含在哈希表集合內add
你的元素:
if (!map.containsKey(a)) {
map.put(a, new Set<B>());
}
map.get(a).add(b);
謝謝你,這是我用過的。 – curious123 2012-04-18 21:50:35
您首先需要獲取一組,然後添加到它:
map.get(a).put(b);
您可能還需要以處理該集合不存在的特例。
Set<B> set = map.get(a);
if (set == null)
{
set = new HashSet<B>();
map.put(a, set);
}
set.put(b);
如果你可以負擔增加依賴到你的項目然後Guava支持這一點。您需要使用SetMultimap。
嗯,番石榴團隊成員在這裏,我想你的意思是'SetMultimap'。 – 2012-04-18 16:13:05
@LouisWasserman yep糾正它 – 2012-04-18 16:15:37
你想添加到地圖中? – ataylor 2012-04-18 16:10:09
我想從Web服務中提取信息。關鍵字A本身就是一個說明項目名稱。每個項目都有一組團隊成員。所以我需要將該項目映射到另一組。希望我在這裏說明一些道理:( – curious123 2012-04-18 16:13:57