treemap 的merge
时间: 2023-11-08 17:02:48 浏览: 101
treemap 的 merge() 方法用于将另一个 treemap 的所有元素合并到当前 treemap 中。合并过程中,如果存在相同的键,则将两个键对应的值相加。
以下是 merge() 方法的语法:
```java
public void merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
```
参数说明:
- key:要合并的键。
- value:要合并的值。
- remappingFunction:一个函数,用于处理重复键的值合并。该函数接受两个参数,第一个参数是当前 key 对应的值,第二个参数是要合并的值,函数返回一个新的值作为合并后的结果。
示例代码如下:
```java
import java.util.TreeMap;
import java.util.function.BiFunction;
public class Main {
public static void main(String[] args) {
TreeMap<String, Integer> treeMap1 = new TreeMap<>();
treeMap1.put("a", 1);
treeMap1.put("b", 2);
treeMap1.put("c", 3);
TreeMap<String, Integer> treeMap2 = new TreeMap<>();
treeMap2.put("a", 4);
treeMap2.put("d", 5);
treeMap1.merge("a", 4, Integer::sum); // 合并键为 "a" 的值,使用相加操作
treeMap1.merge("d", 5, Integer::sum); // 合并键为 "d" 的值,使用相加操作
System.out.println(treeMap1); // 输出: {a=5, b=2, c=3, d=5}
}
}
```
阅读全文