题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
- TreeMap会自动按照key的升序排序
- map遍历:
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int key = entry.getKey();
int value = entry.getValue();
}
import java.util.TreeMap; import java.util.Map; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Map<Integer, Integer> map = new TreeMap<Integer, Integer>(); //行数 int n = sc.nextInt(); //接收数据 String[] inputs = new String[n + 1]; // System.out.println("输入的行数:"+n); for (int i = 0; i <= n; i++) { //接收键值对 inputs[i] = sc.nextLine(); if (inputs[i] != null && inputs[i].length() != 0) { int pos = inputs[i].indexOf(" "); int key = Integer.parseInt(inputs[i].substring(0, pos)); int value = Integer.parseInt(inputs[i].substring(pos + 1)); if (map.get(key) != null) { int preValue = map.get(key); map.put(key, value + preValue); } else { map.put(key, value); } } } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { int key = entry.getKey(); int value = entry.getValue(); System.out.println(key + " " + value); } } }