牛客网华为机试8——合并表记录

题目描述

数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

示例:TreeMap自带排序

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        TreeMap<Integer, Integer> map = new TreeMap<>();
        for (int i = 0; i <num ; i++) {
            Integer key = sc.nextInt();
            Integer v1 = sc.nextInt();
            Integer v2 = map.get(key);
            if (v2==null){
                map.put(key,v1);
            }else {
                map.put(key,v1+v2);
            }
        }
        Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<Integer, Integer> entry = iterator.next();
            System.out.println(entry.getKey()+" "+entry.getValue());
        }
    }
}

你可能感兴趣的:(牛客网华为机试)