集合的运算
给定两个集合,求集合的交集,并集,只有其中一个集合有的元素的集。
利用set类型比较方便
import java.util.*;
public class jihe {
public static void main(String[] args){
String[] a ={"a","b","c","d","e","f","g","in","off","about","get"}; //定义两个集合
String[] b ={"f","g","a","come","get","go"};
Set<String> x = new HashSet<>(); //set类型没有重复的元素,和arraylist有所不同
Set<String> y = new HashSet<>();
Set<String> z = new HashSet<>();
//交集
for(int i=0;i<=a.length-1;i++)
for(int j=0;j<=b.length-1;j++)
if(a[i]==b[j]){
x.add(a[i]);
}
//并集
for(int i=0;i<=a.length-1;i++){
y.add(a[i]);
}
for(int i=0;i<=b.length-1;i++){
y.add(b[i]); //set类型没有重复,求并集直接把两个集合写入
}
//只有a有的集
for(int i=0;i<=a.length-1;i++){
z.add(a[i]); //先把a全部写入
}
for(int i=0;i<=a.length-1;i++)
for(int j=0;j<=b.length-1;j++)
if(a[i]==b[j]){
z.remove(a[i]); //去掉b中含有的元素
}
//输出
System.out.println("交集");
for(String x1:x){
System.out.print(x1+" ");
}
System.out.println("\n并集");
for(String y1:y){
System.out.print(y1+" ");
}
System.out.println("\n只有a有的集");
for(String z1:z){
System.out.print(z1+" ");
}
}
}