android 一个 Map 中 相同的key,value相加,不同的key追加
时间: 2024-04-16 16:26:18 浏览: 112
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
您可以使用 `Map` 的 `merge()` 方法来实现相 key 的 value 相加,不同 key 追加的操作。下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
// 添加同 key 的 value 相加
map.merge("key1", 5, Integer::sum); // 第一次插入 key1,value 是 5
map.merge("key1", 3, Integer::sum); // 第二次插入 key1,value 是 3,与原先的 value 相加,结果是 8
// 添加不同 key 追加
map.merge("key2", 10, (oldValue, newValue) -> oldValue + newValue); // 插入 key2,value 是 10
System.out.println(map); // 输出结果:{key1=8, key2=10}
}
}
```
在上述示例中,`merge()` 方法接受三个参数:key,value 和一个合并函数。如果指定的 key 在 map 中不存在,则会直接插入该 key-value 对;如果指定的 key 已经存在,则会使用合并函数对原先的 value 和新的 value 进行合并操作。在示例中,我们使用了两种不同的合并函数:`Integer::sum` 和 `(oldValue, newValue) -> oldValue + newValue`,它们都能实现相同的功能。
希望这个示例能帮助到您!如果还有其他问题,请随时提问。
阅读全文