我有两个 HashMap<String,Integer>
我如何轻松总结它们?
意思是对于字符串“ a”,键将是(来自Map1的值+来自Map2的值)的总和?
我可以迭代Map2的每个项目,然后手动将其添加到Map1。
但是认为可能会有更简单的方法吗?
我更喜欢将Integers汇总到其中一张地图中。不创建一个新的
由于Java 8
Map
包含merge
需要
因此,您可以简单地使用:
map2.forEach((k, v) -> map1.merge(k, v, Integer::sum));
现在,您map1
将包含的所有值,map2
并且如果键相同,则将旧值添加到新值中,并将结果存储在map中。
演示:
Map<String, Integer> m1 = new HashMap<>();
m1.put("a", 1);
m1.put("b", 2);
Map<String, Integer> m2 = new HashMap<>();
m2.put("a", 3);
m2.put("c", 10);
System.out.println(m1);
System.out.println(m2);
//iterate over second map and merge its elements into map 1 using
//same key and sum of values
m2.forEach((k, v) -> m1.merge(k, v, Integer::sum));
System.out.println("===========");
System.out.println(m1);
输出:
{a=1, b=2}
{a=3, c=10}
===========
{a=4, b=2, c=10}
我有两个
问题内容: 上面的代码用于我的servlet。其目的是获取流,从中创建一个Json文件,然后将Json发送回客户端。但是为了制作Json,我必须使用“ while”循环读取对象。但是,我想用尽可能少的代码行将其转换为字符串。我怎么做? 问题答案: 从Java 8:
本文向大家介绍6步轻松实现两个listView联动效果,包括了6步轻松实现两个listView联动效果的使用技巧和注意事项,需要的朋友参考一下 看了网上更新的好多联动demo,感觉写的不是很简洁(表示不知道他们在说什么) 自己写了一个简单的Demo分享给大家- -! 效果图: 直接上车,少说废话! 所用到以下的这几个依赖,直接粘到Build.gradle文件中 1.定义首页的布局文件 2.Main
这是我制作的hashmap(Ik它不是最好的,也没有太多的逻辑),我想知道如果用户输入像“DVIII”这样的数据,其中“d”的值为“500”,“viii”的值为“8”,然后将它们打印为DVIII=5008,那么如何连接hashmap的值
问题内容: 有没有一种方法可以让IDE自动修复Checkstyle错误,而不必手动修复每个错误? 问题答案: 如果您使用的是Eclipse,则可以。但是,您无法解决所有问题。有两种方法: 右键点击Package Explorer或其他中的Java文件,然后选择“应用Checkstyle改正”。 单击问题视图中的错误,然后选择“快速修复”。这样可以解决问题。
问题内容: 我开发了一个简单的Python应用程序来做一些事情,然后决定使用Tkinter添加一个简单的GUI。 问题在于,当main函数正在执行其工作时,窗口会冻结。 我知道这是一个普遍的问题,我已经读过我应该使用多线程(非常复杂,因为该函数还会更新GUI)或将我的代码划分为不同的函数,每个函数工作一段时间。无论如何,我不想为这样一个愚蠢的应用程序更改代码。 我的问题是:有没有简便的方法可以每秒