0

我是 Java 新手。我一直在使用哈希表来读取具有各种键和值的不同数据。

我在一个哈希表中有一个哈希表,我想将它分成两个哈希表。

Hashtable<String, Hashtable<String, Double>> sData;

想分成类似的东西:

Hashtable<String, Double> innerData;
Hashtable<String, String> outerData;

我什至不确定这是可能的,因为我正在使用外部 Hashtable 并将值更改为 String,而不是另一个 Hashtable。我想我还是会问

4

1 回答 1

1
Hashtable<String, Double> innerData;
Hashtable<String, List<String>> outerData; // or use some multimap library

for(String key:sData.keys()){ 
   List<String> outerlist = new List<String>();
   for(String key2:outerData.get(key).keys()){
       outerlist.add(key2);
       innerData.put(key2,outerData.get(key).get(key2))
   }
   outerData.put(key,outerlist)
}

或者如果你想避免交叉哈希数据丢失,你需要新的类

Hashtable<Pair<String,String>, Double> innerData;
Hashtable<String, List<Pair<String,String>>> outerData;

其中 Pair 是代表嵌套键的类。你也可以只连接字符串,但如果你想向后工作,这会更麻烦。

于 2012-08-20T01:55:24.947 回答