import java.util.HashSet; import java.util.Set; //定义两个集合(”abc”,”aaa”,”bbb”,”ccc”)和(”abc”,”ddd”,”eee”,”ccc”),求它们的交集、并集和差集。 public class test { public static void main(String[] args) { // 创建一个HashSet 因为要求交集、并集、差集,所以选择HashSet // 该类实现了Set接口,不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个。 Set运行结果result = new HashSet (); // 创建一个result集合,接收 s1 s2 Set s1 = new HashSet (); //创建s1集合,使用add方法插入元素 s1.add("abc"); s1.add("aaa"); s1.add("bbb"); s1.add("ccc"); Set s2 = new HashSet ();//创建s2集合,使用add方法插入元素 s2.add("abc"); s2.add("ddd"); s2.add("eee"); s2.add("ccc"); System.out.println("集合s1:" + s1);//输出集合 System.out.println("集合s2:" + s2); result.addAll(s1);//使用addALL方法,将集合S1中的元素全部存放进result result.retainAll(s2);//retainAll()方法用于保留Set中在指定集合中也存在的那些元素,也就是删除指定集合中不存在的那些元素。 System.out.println("交集为:" + result); result.clear();// 因为求交集的时候进行了一次赋值,使用Clear函数清楚result中的值 result.addAll(s1);//使用addALL方法,将集合S1中的元素全部存放进result result.addAll(s2);//使用addALL方法,将集合S2中的元素全部存放进result //因为HashSet里面不会有重复的值,所以会自动将result里面重复的值进行合并,只需要直接插入即可 System.out.println("并集为:" + result); result.clear(); result.addAll(s1);//使用addALL方法,将集合S1中的元素全部存放进result result.removeAll(s2);//使用removeAll方法,将集合S1集合中里存在S2集合的元素进行删除 System.out.println("差集为:" + result); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)