题解 | #合并表记录# 使用TreeMap
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
思路
使用TreeMap,其中键值对,按照键的升序进行排列;
每有一组键值对,则根据键进行值的查找,然后将值进行叠加,并更新改建对应的新值;
打印结果;
import java.util.Map; import java.util.TreeMap; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); Map<Integer, Integer> map = new TreeMap<>(); while(sc.hasNext()) { int n = sc.nextInt(); // 键值对的个数 for(int i = 0; i < n; i++) { int k = sc.nextInt(); int v = sc.nextInt(); map.put(k, v + map.getOrDefault(k, 0)); } } for(Map.Entry entry : map.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } } }