题解 | #合并表记录#
合并表记录
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))); }); } }