java题目数据表记录包含表索引和数值
描述
数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。 提示: 0 <= index <= 11111111 1 <= value <= 100000输入描述:
先输入键值对的个数n(1 <= n <= 500)
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入:4 0 1 0 2 1 2 3 4输出:
0 3 1 2 3 4
示例2
输入:3 0 1 0 2 8 9输出:
0 3 8 9
1 import java.io.*; 2 import java.util.*; 3 4 public class Main{ 5 public static void main(String[] args) throws Exception{ 6 Scanner sc = new Scanner(System.in); 7 TreeMapmap = new TreeMap<>(); 8 while(sc.hasNextInt()) { 9 int n = sc.nextInt(); 10 for(int i=0; i ) { 11 int key = sc.nextInt(); 12 int value = sc.nextInt(); 13 //getOrDefault方法返回给定键的值,如果没有与该键相关的值,那么将返回指定的默认值 14 //put(key,value) 插入指定key-value 15 map.put(key, map.getOrDefault(key,0) + value); 16 } 17 } 18 for(Integer i : map.keySet()) { 19 System.out.println(i + " " + map.get(i)); 20 } 21 } 22 }
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
TreeMap
while(sc.hasNextInt()) {
int n = sc.nextInt();
for(int i=0; i
int value = sc.nextInt();
//getOrDefault方法返回给定键的值,如果没有与该键相关的值,那么将返回指定的默认值
//put(key,value) 插入指定key-value
map.put(key, map.getOrDefault(key,0) + value);
}
}
for(Integer i : map.keySet()) {
System.out.println(i + " " + map.get(i));
}
}
}