2011-08-25 83 views

回答

6

看看谷歌番石榴的Multimap及其亞型ListMultimapSetMultimap

來自Multimap的javadoc:一個類似於Map的集合,但它可以將多個值與一個 單一關鍵字相關聯。

2

Map<Key, Collection<Value>>是最好的辦法

+0

雖然這是一個接口,而不是數據結構(即實現)。 – Thilo

+0

@Thilo是它只是一個結構,任何這種結構的實現都應該解決這個問題。 – Manoj

+0

地圖界面沒有定義數據結構。一個TreeMap,一個HashMap,一個由鍵值存儲支持的Map,一個由關係數據庫支持的Map都是完全不同的數據結構。其中一些可能比其他人更適合這一點。 – Thilo

1

您可以擁有一個Map,其中的值是像List/Set這樣的集合取決於您的pair是否是不同的。

如果你有不同的對,你可以去像Set接口:

Map<key, Set<value>> 

    Ex Map<key, HashSet<Value>> 

如果沒有具有明顯的對((KEY1,VAL1),(KEY1,VAL1)),你可以去列表界面:

Map<key, List<value>>  
Map<key, ArrayList <Value>> 
+1

更好地使用聲明中的接口:'Map >'或'Map >'。 – Thomas

+0

@Thomas,當然。我編輯了這篇文章。 – Swagatika

1

我不知道這是否會爲你工作,但你可以考慮倒車鍵/值,如果值是唯一的,並使用標準的Map<ValueType, KeyType>

相關問題