合并表记录 java

版权声明:博客内容为本人自己所写,请勿转载。 https://blog.csdn.net/weixin_42805929/article/details/82825906

合并表记录 java

题目描述
数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)

示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4

代码:
Map之遍历Map的四种方法 java

代码1:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main {
	public static void main(String[] args) throws Exception {
		// InputStreamReader--字节输入流的所有类的超类
		InputStreamReader isr = new InputStreamReader(System.in);
		// BufferedReader--从字符输入流中读取文本
		BufferedReader br = new BufferedReader(isr);
		// n为键值对的个数
		int n = Integer.parseInt(br.readLine());
		Map<Integer, Integer> map = new HashMap<>();
		for (int i = 0; i < n; i++) {
			String[] s = br.readLine().split(" ");
			int key = Integer.parseInt(s[0]);
			int value = Integer.parseInt(s[1]);
			// 判断Map集合对象中是否包含指定的键名
			if (map.containsKey(key)) {
				map.put(key, map.get(key) + value);
			} else {
				map.put(key, value);
			}
		}
		for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
			System.out.println(entry.getKey() + " " + entry.getValue());
		}
	}
}

代码2:推荐使用–TreeMap是按序排列,并且不允许有null键和值

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        TreeMap<Integer, Integer> map = new TreeMap<>();
        for(int i = 0; i < n; i++){
            String[] s = br.readLine().split(" ");
            int key = Integer.parseInt(s[0]);
            int value = Integer.parseInt(s[1]);
            if(map.containsKey(key)) {
                map.put(key, map.get(key) + value);
            } else {
                map.put(key, value);
            }
        }
        for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42805929/article/details/82825906