我只是想知道是否有可能創建一個形式爲<key, hash table>
的java的哈希表。形式的哈希表 - 在Java中的<key,哈希表>
本質上,第一個密鑰導致我到一個新的散列表;然後我使用另一個鍵搜索該表。
我只是想知道是否有可能創建一個形式爲<key, hash table>
的java的哈希表。形式的哈希表 - 在Java中的<key,哈希表>
本質上,第一個密鑰導致我到一個新的散列表;然後我使用另一個鍵搜索該表。
當然它是:
Map<K1, Map<K2, V>> themap = new HashMap<K1, Map<K2, V>>();
其中K1
是「哈希表」的鍵,和K2
和V
是內部的「哈希表」的鍵和值的類型。
編輯:作爲@AndreiBodnarescu正確地指出,還必須仔細選擇你的Map
實現(Map
是一個接口)。問自己以下問題:
Hashtable
或Collections.synchronizedMap(...)
;LinkedHashMap
;TreeMap
。請仔細選擇您的實施!
可以使用
Hashtable<KeyType,Hashtable<InnerKeyType,InnerValueType>> ht = new Hashtable<>();
其中obviouslly的InnerValueType仍然是一個哈希表
如果你的數據結構不被多個線程訪問,您可以repalce的Hashtable與HashMap中擁有的所有行爲一個哈希表結構,但沒有同步。
嘗試
Hashtable<Integer, Hashtable> hashTable = new Hashtable<Integer, Hashtable>():
Ofcourse這是可能的。您應該使用HashMap
而不是Hashtable
(因爲Hashtable
是自Java 1.2以來已被替換爲HashMap
的遺留集合類)。
實施例:
Map<String, Map<String, Object>> mapOfMaps = new HashMap<String, Map<String, Object>>();
mapOfMaps.put("one", new HashMap<String, Object>());
mapOfMaps.put("two", new HashMap<String, Object>());
1爲表/圖的區別 – 2012-01-18 13:44:26