从标准输入中输入两组整数,并从小到大排序输出

【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。
【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。
【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。
【样例输入】
8
5 1 4 3 8 7 9 6
4
5 2 8 10
【样例输出】1 2 3 4 5 6 7 8 9 10
【样例说明】第一组整数个数为8,分别为5 1 4 3 8 7 9 6,第二组整数个数为4,分别为5 2 8 10。将第一组和第二组整数合并(不含重复整数),并从小到大顺序排序后结果为1 2 3 4 5 6 7 8 9 10。

img


import java.util.*;
 
public class Test1 {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        List<Integer> list1 = new ArrayList();
        //输入第一组数据
        int n1 = scanner.nextInt();
        for(int i=0;i<n1;i++){
            list1.add(scanner.nextInt());
        }
        //输入第二组数据
        int n2 = scanner.nextInt();
        for(int i=0;i<n2;i++){
            list1.add(scanner.nextInt());
        }
        //利用LinkedHashSet的特性去重
        LinkedHashSet linkedHashSet = new LinkedHashSet(list1);
        List<Integer> list = new ArrayList(linkedHashSet);
        //从小到大排序
        Collections.sort(list);
        //输出结果
        //System.out.println(list);
        for(int i=0;i<list.size();i++){
            System.out.print(list.get(i));
            if(i<list.size()-1){
                System.out.print(" ");
            }
        }
    }
}