今天介绍Map的merge方法,让我们来看看它的强大之处。
在JDK的API中,这样的一个方法它是很特别的,它很新颖,它是值得我们花时间去了解的,同时也推荐你可以运用到实际的项目代码中,对你们应该帮助很大。Map.merge()。这可能是Map中最通用的操作。但它也相当模糊,几乎很少人会去使用它。
背景介绍
merge()
可以解释如下:它将新的值赋值给到key中(如果不存在)或更新具有给定值的现有key(UPSERT)。让我们从最基本的例子开始:计算唯一的单词出现次数。在java8之前的时候,代码非常混乱,实际的实现其实已经失去了本质层面的设计意义。
var map = new HashMap<String, Integer>();
words.forEach(word -> {
var prev = map.get(word);
if (prev == null) {
map.put(word, 1);
} else {
map.put(word, prev + 1);
}
});
复制代码
按照上述代码的逻辑,假设给定一个输入集合,输出的结果如下;
var words = List.of("Foo", "Bar", "Foo", "Buzz", "Foo", "Buzz",