java - 将哈希表中的哈希表拆分为两个单独的哈希表

标签 java split key hashtable

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

我在哈希表中有一个哈希表,我想将其拆分为两个哈希表。

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

想分成这样的东西:

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

我什至不确定这是否可能,因为我正在使用外部哈希表并将值更改为字符串,而不是另一个哈希表。我想我还是会问

最佳答案

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 是代表嵌套键的类。您也可以只连接字符串,但如果您想向后工作,这会更困惑。

关于java - 将哈希表中的哈希表拆分为两个单独的哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031460/

相关文章:

Java:如何在 ScrollPane Viewport 上绘制非滚动覆盖?

java - 版本控制 REST API 和供应商特定的内容类型

Python分隔线拆分问题

.net - 用两个单引号分割字符串

Java Hashmap 使用随机返回给定键的值

c# - 保护 WinForms 应用程序建议

java - MatLab 相当于 java 中的 charAt()

java - 使用 BaseAdapter 的 ListView 未显示在 Activity 中

PHP 拆分为 preg_split()

python - python中的嵌套dict,根据内部键搜索获取内部值和父键