题解 | #JAVA合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.util.*; public class Main { public static void main(String[] args) { //创建Scanner对象从控制台获取输入 Scanner scanner = new Scanner(System.in); //读取哈希表的长度 int tableSize=scanner.nextInt(); //创建map对象,类型为<Integer, Integer>,指定容量为tableSize Map<Integer, Integer> table = new HashMap<>(tableSize); //使用for循环遍历tableSize次 for ( int i = 0 ; i < tableSize ; i++) { //读取键值对 int key = scanner.nextInt(); int value = scanner.nextInt(); //如果map包含此键,获取原值并加上新值 if ( table.containsKey(key)){ table.put(key,table.get(key)+value); } //否则直接添加新键值对 else{ table.put(key,value); } } //遍历map中的所有键 for ( Integer key : table.keySet()){ //输出键值对 System.out.println(key+" "+table.get(key)); } } } /** 这个采用hash表存放数据就好了,每次输入查询是否有存在的key 存在就将value累加到表中,最后输出表。 */#java#