📜  Java HashMap merge()(1)

📅  最后修改于: 2023-12-03 15:01:30.169000             🧑  作者: Mango

Java HashMap merge()方法

简介

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)
参数说明
  • key:要合并的键。
  • value:要合并的值。
  • 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()方法时,我们需要注意合并方式的选择,以便得到正确的合并结果。