集合的交并差(两个集合的数据类型一定要相同,否则以下方法均返回false)
boolean retainAll(hashSet1)方法
hashSet集合调用 boolean retainAll(hashSet1)方法可以判断集合hashSet和集合hashSet1是否有交集(如果有交集,该方法返回true否则返回false)
代码如下:
HashSet<Integer>hashSet=new HashSet<>();
hashSet.add(15);
hashSet.add(546);
hashSet.add(89);
hashSet.add(23);
hashSet.add(9);
hashSet.add(92);
hashSet.add(1);
HashSet<Integer>hashSet1=new HashSet<>();
hashSet1.add(15);
hashSet1.add(546);
hashSet1.add(89);
hashSet1.add(1);
hashSet1.add(2);
hashSet1.add(3);
hashSet1.add(4);
hashSet1.add(5);
System.out.println("集合hashSet和集合hashSet1有交集:"+hashSet.retainAll(hashSet1));//判断集合hashSet和集合hashSet1是否有交集,如果这两集合有交集,则输出true,否则输出false
Iterator<Integer> iterator=hashSet.iterator();//利用迭代器输出它们的交集
if(!hashSet.retainAll(hashSet1)) {//集合hashSet和集合hashSet1有交集时输出交集中的数据
System.out.print("集合hashSet和集合hashSet1的交集为:");
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
}
boolean addAll()(并集)
HashSet<Integer>hashSet=new HashSet<>();
hashSet.add(15);
hashSet.add(546);
hashSet.add(89);
hashSet.add(23);
hashSet.add(9);
hashSet.add(92);
hashSet.add(1);
HashSet<Integer>hashSet1=new HashSet<>();
hashSet1.add(15);
hashSet1.add(546);
hashSet1.add(89);
hashSet1.add(1);
hashSet1.add(2);
hashSet1.add(3);
hashSet1.add(4);
hashSet1.add(5);
System.out.println("集合hashSet和集合hashSet1有并集:"+hashSet.addAll(hashSet1));
Iterator<Integer> iterator=hashSet.iterator();//利用迭代器输出它们的并集
if(!hashSet.addAll(hashSet1)) {
System.out.print("集合hashSet和集合hashSet1的并集为:");
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
}
boolean removeAll() 方法
hashSet集合调用boolean removeAll() 方法可以判断集合hashSet和集合hashSet1是否有差集,有则返回true,否则返回false
代码如下:
HashSet<Integer>hashSet=new HashSet<>();
hashSet.add(15);
hashSet.add(546);
hashSet.add(89);
hashSet.add(23);
hashSet.add(9);
hashSet.add(92);
hashSet.add(1);
HashSet<Integer>hashSet1=new HashSet<>();
hashSet1.add(15);
hashSet1.add(546);
hashSet1.add(89);
hashSet1.add(1);
hashSet1.add(2);
hashSet1.add(3);
hashSet1.add(4);
hashSet1.add(5);
System.out.println("集合hashSet和集合hashSet1有差集:"+hashSet.removeAll(hashSet1));//判断集合hashSet和集合hashSet1是否有差集
Iterator<Integer> iterator=hashSet.iterator();//利用迭代器输出它们的差集
if(!hashSet.removeAll(hashSet1)) {//集合hashSet和集合hashSet1有差集时输出差集中的数据
System.out.print("集合hashSet和集合hashSet1的差集为:");
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
}