题解 | #合并表记录#重点在排序,利用lambda表达式排序
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.io.*;
import java.util.*;
import java.util.Map;
public class Main{
public static void main(String[] args) throws Exception{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str;
while((str = bf.readLine()) != null){
int num = Integer.valueOf(str);
Map<Integer,Integer> map = new HashMap<>();
for(int i = 0;i < num;i++){
String strnum = bf.readLine();
String[] word = strnum.split(" ");
int num1 = Integer.valueOf(word[0]);
int num2 = Integer.valueOf(word[1]);
map.put(num1,map.getOrDefault(num1,0) + Integer.valueOf(word[1]));
}
ArrayList<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, (a, b) -> a.getKey() - b.getKey());
for (Map.Entry<Integer, Integer> entry : list) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
}