题解 | #合并表记录#
合并表记录
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());
}
}
}
小天才公司福利 1152人发布