java.merge
时间: 2024-09-23 11:10:55 浏览: 32
在Java中,`java.util.TreeMap`类有一个名为`merge`的方法,它用于合并两个有序映射(TreeMap)。`merge`方法允许你在保持原map键值对有序的情况下,将另一个map的内容追加到第一个map中。如果两个map有相同的键,你可以选择指定的行为:
1. 如果第二个map的键在第一个map之后,`merge`会保留第一个map的键值,并忽略第二个map对应键的值。
2. 如果第二个map的键在第一个map之前,`merge`会替换第一个map中的键值。
3. 可选地,你可以提供一个合并函数(二元谓词),这个函数接受两个value,返回一个新的value,用于合并。
示例代码:
```java
TreeMap<String, Integer> map1 = new TreeMap<>();
map1.put("A", 1);
map1.put("B", 2);
TreeMap<String, Integer> map2 = new TreeMap<>();
map2.put("A", 3); // 这里map2的"A"值会覆盖map1的
// 使用默认合并规则
map1.merge(map2, (oldValue, newValue) -> oldValue == null ? newValue : oldValue); // map1现在是 {"A": 3, "B": 2}
// 或者自定义合并规则
map1.merge(map2, (oldValue, newValue) -> oldValue + newValue); // map1现在是 {"A": 4, "B": 2}
```
阅读全文