题目描述:
给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。
代码:
package lanqiao;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList A = new ArrayList();
ArrayList in = new ArrayList(); //交集
ArrayList un = new ArrayList(); //并集
ArrayList yu = new ArrayList(); //余集
for(int i = 0;i < n; i ++)
{
A.add(sc.nextInt());
}
un.addAll(A);
yu.addAll(A);
int m = sc.nextInt();
for(int i = 0;i < m;i ++)
{
int b = sc.nextInt();
if(A.contains(b))
{
in.add(b);
yu.remove(yu.indexOf(b));
}
else{
un.add(b);
}
}
Collections.sort(in);
Collections.sort(un);
Collections.sort(yu);
for (int i = 0; i < in.size(); i++) {
if(i!=in.size()-1)System.out.print(in.get(i)+" ");
else System.out.println(in.get(in.size()-1));
}
if(in.size()==0) System.out.println();
for (int i = 0; i < un.size(); i++) {
if(i!=un.size()-1) System.out.print(un.get(i)+" ");
else System.out.println(un.get(un.size()-1));
}
for (int i = 0; i < yu.size(); i++) {
if(i!=yu.size()-1) System.out.print(yu.get(i)+" ");
else System.out.println(yu.get(yu.size()-1));
}
if(yu.size()==0) System.out.println();
}
}