我只是想知道是否有可能创建一个形式为<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