题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.util.*;
import java.util.stream.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
Map<Integer, Integer> dict = new HashMap<>();
while (in.hasNext()) { // 注意 while 处理多个 case
Integer counter = in.nextInt();
IntStream.range(1, counter + 1).forEach(x-> {
Integer key = in.nextInt();
Integer val = in.nextInt();
if (dict.containsKey(key)) {
Integer newVal = dict.get(key) + val;
dict.put(key, newVal);
} else {
dict.put(key,val);
}
});
}
List<Integer> sortedKeys = dict.keySet().stream().sorted((o1, o2)-> {
return o1.compareTo(o2);
}).collect(Collectors.toList());
sortedKeys.stream().forEach(x-> {
System.out.println(String.format("%d %d", x, dict.get(x)));
});
}
}

