题解 | #合并表记录#
合并表记录
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());
}
}
}
基恩士成长空间 453人发布

