题解 | #合并表记录#

合并表记录

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

//放入map, 对map的key进行判断,key有重复的就重新put进map更新对应的value的值、
//重点是数据结构的选择,
//这里没用hashmap, 而是用的TreeMap ,因为hashmap是无序的,TreeMap是有序的,
//当key的数量非常多的时候,TreeMap可以保证有序。
import java.util.*;
public class Main{
    public static void  main(String[] args){
        Scanner sc = new Scanner(System.in);
        TreeMap<Integer,Integer> outMap = new TreeMap<Integer,Integer>();
        //对输入数据用空格切割
        while(sc.hasNext()){
           String inStr = sc.nextLine();
           String[] arr  = inStr.split(" ");
            if(arr.length>1){
               int key = Integer.parseInt(arr[0]);
               int value = Integer.parseInt(arr[1]);
                if(!outMap.containsKey(key)){
                    outMap.put(key,value);
                }else{
                    outMap.put(key,outMap.get(key) + value);
                }
            }
        }
               //遍历map输出
//                for(String key :outMap.keySet()){
//                    System.out.println(key +" " +outMap.get(key));
//                }
            for (Map.Entry<Integer, Integer> entry : outMap.entrySet()) {
                    System.out.println(entry.getKey()+" "+entry.getValue());
            }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务