2013-01-02 61 views
0

我已經做了下面的哈希表,但現在我試圖用相同的鍵存儲多個值,但我無法這樣做,請告知如何實現,然後如何迭代超過顯示值安裝有多個鍵..關於存儲多個值

Hashtable companies = new Hashtable(); 
// Java Hashtable example to put object into Hashtable 
// put(key, value) is used to insert object into map 
companies.put("Google", "United States"); 
companies.put("Nokia", "Finland"); 
companies.put("Sony", "Japan"); 

我想實現像..

Hashtable companies = new Hashtable(); 
// Java Hashtable example to put object into Hashtable 
// put(key, value) is used to insert object into map 
companies.put("Google", "United States","France"); 
companies.put("Nokia", "Finland","Japan"); 
companies.put("Sony", "Japan", "indonesia"); 

人請指教.. !!

+0

使用[番石榴Multimap之](http://guava-libraries.googlecode.com/svn/tags/release03/javadoc/com/google/common/collect/Multimap.html) – jlordo

回答

0

您可以使用guava mutlimap(或)將您的值更改爲List實現中的一個,而不是String,並且最好使用HashMap而不是HashTable。

例子:

Map<String, List<String>> = new HashMap<String, List<String>>(); 
0

你可以使用地圖列表...

Map<String, List<String>> companies = new Hashtable<String, List<String>>(); 
companies.put("Google", Arrays.asList("United States","France")); //etc... 
+0

@Zuti左側你提到的右側是Map,但在右側你說hashtable請告知 – user1924563

+0

'Hashtable'實現了'Map'接口。 – Zutty

0

唐;噸使用哈希表,使用HashMap的,你可以只改變結構,以這樣的:

Map<String, List<String>> 
+0

請告訴我如何更改結構,請張貼代碼..! – user1924563

0
  • 請勿使用Hashtable,請使用HashMap
  • 如果你使用番石榴(你應該,真的;)),使用Multimap
  • 如果您不需要,請使用HashTable<String, List<String>>;您將需要一個包裝類,因此您可以在密鑰中創建List,然後才能將其添加到該列表中。
+0

請張貼第三個選項的代碼 – user1924563