以下是一个示例代码来遍历HashMap并累加具有相同键的键值对:
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
// 创建一个HashMap
HashMap hashMap = new HashMap<>();
// 添加键值对到HashMap
hashMap.put("A", 1);
hashMap.put("B", 2);
hashMap.put("C", 3);
hashMap.put("A", 4);
hashMap.put("B", 5);
// 创建一个新的HashMap来存储累加后的键值对
HashMap result = new HashMap<>();
// 遍历HashMap并累加具有相同键的键值对
for (Map.Entry entry : hashMap.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
// 如果结果HashMap中已经包含了当前键,则将当前值与结果HashMap中对应键的值相加
if (result.containsKey(key)) {
result.put(key, result.get(key) + value);
} else {
// 否则将当前键值对添加到结果HashMap中
result.put(key, value);
}
}
// 打印结果HashMap中的键值对
for (Map.Entry entry : result.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
输出结果为:
A : 5
B : 7
C : 3
在这个示例中,我们创建了一个HashMap并添加了一些键值对。然后,我们创建了一个新的HashMap来存储累加后的键值对。使用entrySet()
方法遍历HashMap,并使用getKey()
和getValue()
方法获取键和值。如果结果HashMap中已经包含了当前键,则将当前值与结果HashMap中对应键的值相加;否则将当前键值对添加到结果HashMap中。最后,我们打印结果HashMap中的键值对。