请编程,创建两个HashSet对象,其中保存整数。然后求它们的并集、差集和交集。 提示:利用addAll()、removeAll()、retainAll()方法。 请查阅帮助文档,了解Collection接口中这几个方法的用法。以集合的形式输出并用空格隔开
时间: 2023-09-15 13:06:05 浏览: 82
用于处理数据,求两个集合的交集、并集、补集。附源码。
### 回答1:
这是一个Java代码示例,用于创建两个HashSet对象,求它们的并集、差集和交集:
```java
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<Integer> set1 = new HashSet<Integer>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<Integer>();
set2.add(3);
set2.add(4);
set2.add(5);
// 求并集
HashSet<Integer> unionSet = new HashSet<Integer>(set1);
unionSet.addAll(set2);
System.out.println("并集:" + unionSet);
// 求差集
HashSet<Integer> diffSet = new HashSet<Integer>(set1);
diffSet.removeAll(set2);
System.out.println("差集:" + diffSet);
// 求交集
HashSet<Integer> intersectSet = new HashSet<Integer>(set1);
intersectSet.retainAll(set2);
System.out.println("交集:" + intersectSet);
}
}
```
输出结果为:
```
并集:[1, 2, 3, 4, 5]
差集:[1, 2]
交集:[3]
```
### 回答2:
编程实现如下:
```java
import java.util.HashSet;
public class HashSetDemo {
public static void main(String[] args) {
// 创建两个HashSet对象
HashSet<Integer> set1 = new HashSet<>();
HashSet<Integer> set2 = new HashSet<>();
// 向set1中添加元素
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(4);
// 向set2中添加元素
set2.add(3);
set2.add(4);
set2.add(5);
set2.add(6);
// 求并集
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
// 求差集
HashSet<Integer> differenceSet = new HashSet<>(set1);
differenceSet.removeAll(set2);
// 求交集
HashSet<Integer> intersectionSet = new HashSet<>(set1);
intersectionSet.retainAll(set2);
// 将结果以集合形式输出,用空格隔开
System.out.println("并集: " + unionSet);
System.out.println("差集: " + differenceSet);
System.out.println("交集: " + intersectionSet);
}
}
```
以上代码创建了两个HashSet对象`set1`和`set2`,并分别向其中添加整数元素。
接下来,使用`addAll()`方法将`set2`中的元素添加到`set1`中,得到并集。
使用`removeAll()`方法将`set2`中的元素从`set1`中移除,得到差集。
使用`retainAll()`方法将`set2`中和`set1`中都存在的元素保留下来,得到交集。
最后,将结果以集合的形式输出,并用空格隔开。
### 回答3:
创建HashSet对象可以使用以下代码:
HashSet<Integer> set1 = new HashSet<>();
HashSet<Integer> set2 = new HashSet<>();
在set1中添加整数可以使用add()方法:
set1.add(1);
set1.add(2);
set1.add(3);
在set2中添加整数可以使用add()方法:
set2.add(3);
set2.add(4);
set2.add(5);
求并集可以使用addAll()方法:
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
求差集可以使用removeAll()方法:
HashSet<Integer> differenceSet = new HashSet<>(set1);
differenceSet.removeAll(set2);
求交集可以使用retainAll()方法:
HashSet<Integer> intersectionSet = new HashSet<>(set1);
intersectionSet.retainAll(set2);
将集合以空格隔开输出可以使用以下代码:
System.out.println("并集:" + unionSet);
System.out.println("差集:" + differenceSet);
System.out.println("交集:" + intersectionSet);
最终输出的结果为:
并集:{1, 2, 3, 4, 5}
差集:{1, 2}
交集:{3}
注意:HashSet是不保证元素顺序的,因此最终输出的结果集合中元素的顺序可能与代码中的顺序不一致。
阅读全文