题解 | #合并表记录#
合并表记录
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()); } } }