📅  最后修改于: 2023-12-03 15:01:30.169000             🧑  作者: Mango
Java HashMap是Java中常见的数据结构之一,它是一种以键值对(key-value)的形式存储数据的容器。HashMap中,每个键对应一个值,而且键必须是唯一的。当我们需要向HashMap中添加一个键值对时,可以使用merge()方法。
merge()方法的作用是将指定的键的值与当前HashMap中的值进行合并。若指定键的值在当前HashMap中不存在,则直接加入;若已存在,则将当前HashMap中的值与指定键的值进行合并,并将最终结果作为该键的新值。
V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
合并后指定键的值。
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建HashMap
HashMap<String, Integer> hashMap = new HashMap<>();
// 添加键值对
hashMap.put("a", 1);
hashMap.put("b", 2);
hashMap.put("c", 3);
// 合并键值对
hashMap.merge("a", 4, (oldValue, newValue) -> oldValue + newValue);
hashMap.merge("d", 5, (oldValue, newValue) -> oldValue + newValue);
// 遍历HashMap
hashMap.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
输出结果:
a: 5
b: 2
c: 3
d: 5
在上面的示例代码中,我们首先创建了一个HashMap,并向其中添加了三个键值对。接着,我们使用了merge()方法来合并两个键值对。
在第一个合并操作中,我们将键为"a"的值进行了合并。由于该键在HashMap中已存在,因此我们使用了自定义的合并方式将新值4与原值1相加,并将合并后的结果5作为键"a"的新值。
而在第二个合并操作中,我们将键为"d"的值进行了合并。由于该键在HashMap中不存在,因此我们直接加入新的键值对。
最后,我们使用forEach()方法遍历了HashMap,并将遍历得到的键及其对应的值打印出来。可以看到,两个合并操作都成功了,最终得到了正确的结果。
Java HashMap merge()方法是一个很实用的方法,它可以让我们很方便地合并HashMap中的键值对,提高程序的运行效率。在使用merge()方法时,我们需要注意合并方式的选择,以便得到正确的合并结果。