题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.Set; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int tableSize = scanner.nextInt(); Map<Integer, Integer> table = new HashMap<>(tableSize); for (int i = 0; i < tableSize; i++) { int key = scanner.nextInt(); int value = scanner.nextInt(); if (table.containsKey(key)) { table.put(key, table.get(key) + value); } else { table.put(key, value); } } Set<Map.Entry<Integer, Integer>> entries = table.entrySet(); List<Map.Entry<Integer, Integer>> entries1 = new ArrayList<>(entries); Collections.sort(entries1, new Comparator<Map.Entry<Integer, Integer>>() { @Override public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) { return o1.getKey() - o2.getKey(); } }); for (Map.Entry<Integer, Integer> entry : entries1) { System.out.println(entry.getKey() + " " + entry.getValue()); } } }