java - java中合并多个Map并用不同的key区分它们的值

标签 java list hashmap

编辑:我有三张具有以下格式的 map :

 map1.put("aaa",1);
 map1.put("bbb",1);
 map1.put("ccc",1);

 map2.put("aaa",2);
 map2.put("bbb",3);

 map3.put("ccc",6);
 map3.put("ddd",6);

现在我想要结果为以下格式的列表:

[{"id":"aaa","map1count":"1","map2count":"2","map3count":"0"},
 {"id":"bbb","map1count":"1","map2count":"0","map3count":"0"},
 {"id":"ccc","map1count":"1","map2count":"0","map3count":"6"},
 {"id":"ddd","map1count":"0","map2count":"0","map3count":"6"}]

我该如何在java中做到这一点,请帮我弄清楚。

最佳答案

您可以创建一个 Count 类,其中包含三个成员。映射计数1、映射计数2、映射计数3。现在创建结果图

HashMap<String, Count>() result = new HashMap<>();

现在你需要遍历这3个map,检查map.containsKey(key),这里的key可能是“aaa”,“bbb”,“ccc”等。现在遍历第一个map,因为map不包含任何key,所以将带有值的key添加到结果map中。现在对第二个、第三个 map 执行此操作,如果键存在,则获取计数对象的值并更新 mapCount2/3 的计数。最后,对于每个键,您可以打印特定于每个 map 的计数。

关于java - java中合并多个Map并用不同的key区分它们的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40376748/

相关文章:

java - 如何使用 Ant 脚本启动和停止 Tomcat 服务器?

c++ - 在 C++ 中对 STL 列表使用 push_back() 会导致访问冲突、崩溃

python - 使用 Pandas 从具有不同行长度的文件导入数据

java - JAXB 将 XML 元素解码到 HashMap

java - 对象属性的多个域/范围

java - 在 Eclipse 中为 Java EE 开发人员版禁用 HTML 警告

arrays - 高效的数据结构,用于快速随机访问、搜索、插入和删除

rust - 从Cargo构建脚本创建不可变的HashMap

c++11 - std::hash 运行 ska::flat_hash_map 时没有名为 "hash_policy"的类型

java - 是否可以通过azure graph获取访问 token 并使用它来访问azure存储帐户?