题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

import java.util.Scanner;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Map<Integer, Integer> result = new TreeMap<>();
        int num = in.nextInt();
        while (in.hasNextLine()) {
            // 获取数据
            String[] datas = in.nextLine().split(" ");
            // 如果获取的值长度小于2表示是第一行的个数
            if (datas.length < 2) {
                continue;
            }
            // 获取key
            Integer key = Integer.parseInt(datas[0]);
            // 获取value,如果获取的值为null,表示map中没有这个数据,则获取当前值,否则获取到值进行相加

            Integer value = result.get(key) == null ?
                            Integer.parseInt( datas[1])
                            : result.get(key) + Integer.parseInt(datas[1]);
            result.put(key, value);
        }
        // 对map进行遍历
        Set<Map.Entry<Integer, Integer>> entries = result.entrySet();
        for (Map.Entry<Integer, Integer> entry : entries) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }

    }
}

全部评论

相关推荐

11-04 10:30
已编辑
门头沟学院 研发工程师
开心小狗🐶:“直接说答案”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务