java里请编程,创建两个HashSet对象,其中保存整数。然后求它们的并集、差集和交集。 提示:利用addAll()、removeAll()、retainAll()方法,并要求整数是输入进去的
时间: 2023-09-06 17:05:11 浏览: 84
### 回答1:
可以参考以下代码:
```java
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<Integer> set1 = new HashSet<>();
HashSet<Integer> set2 = new HashSet<>();
// 添加元素
set1.add(1);
set1.add(2);
set1.add(3);
set2.add(2);
set2.add(3);
set2.add(4);
// 求并集
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
System.out.println("并集:" + unionSet);
// 求差集
HashSet<Integer> differenceSet = new HashSet<>(set1);
differenceSet.removeAll(set2);
System.out.println("差集:" + differenceSet);
// 求交集
HashSet<Integer> intersectionSet = new HashSet<>(set1);
intersectionSet.retainAll(set2);
System.out.println("交集:" + intersectionSet);
}
}
```
输出结果为:
```
并集:[1, 2, 3, 4]
差集:[1]
交集:[2, 3]
```
### 回答2:
在Java中,我们可以使用HashSet类来创建保存整数的集合对象。要求用户输入整数并保存到两个不同的HashSet对象中,然后求它们的并集、差集和交集。具体实现如下:
```java
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
HashSet<Integer> set1 = new HashSet<>();
HashSet<Integer> set2 = new HashSet<>();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个HashSet对象的整数个数:");
int count1 = scanner.nextInt();
System.out.println("请输入" + count1 + "个整数,以空格分隔:");
for (int i = 0; i < count1; i++) {
set1.add(scanner.nextInt());
}
System.out.println("请输入第二个HashSet对象的整数个数:");
int count2 = scanner.nextInt();
System.out.println("请输入" + count2 + "个整数,以空格分隔:");
for (int i = 0; i < count2; i++) {
set2.add(scanner.nextInt());
}
// 求并集
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
System.out.println("并集为:" + unionSet);
// 求差集
HashSet<Integer> diffSet = new HashSet<>(set1);
diffSet.removeAll(set2);
System.out.println("差集为:" + diffSet);
// 求交集
HashSet<Integer> intersectSet = new HashSet<>(set1);
intersectSet.retainAll(set2);
System.out.println("交集为:" + intersectSet);
}
}
```
以上代码中,首先创建了两个空的HashSet对象 set1 和 set2,然后利用Scanner类获取用户输入的整数个数和整数值,将其添加到相应的HashSet对象中。接着,分别创建了三个新的HashSet对象 unionSet、diffSet 和 intersectSet,用于存放操作结果。使用set1和set2对象调用addAll()、removeAll()和retainAll()方法来进行并集、差集和交集的运算。最后,输出运算结果。稍后在控制台上输入整数个数和整数值后,即可得到并集、差集和交集的结果。
### 回答3:
在Java中使用HashSet可以很方便地实现集合的操作。创建两个HashSet对象存储整数,然后分别求它们的并集、差集和交集。
首先,我们需要导入Java集合框架中的HashSet类。
```java
import java.util.HashSet;
```
然后,创建两个HashSet对象,并保存整数。
```java
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);
```
接下来,我们可以利用HashSet提供的方法来操作集合。
- 并集:利用addAll()方法将第二个HashSet的元素添加到第一个HashSet中。
```java
HashSet<Integer> union = new HashSet<>(set1);
union.addAll(set2);
```
- 差集:利用removeAll()方法移除两个集合中共有的元素,从而得到第一个HashSet中有而第二个HashSet中没有的元素。
```java
HashSet<Integer> difference = new HashSet<>(set1);
difference.removeAll(set2);
```
- 交集:利用retainAll()方法保留两个集合中共有的元素。
```java
HashSet<Integer> intersection = new HashSet<>(set1);
intersection.retainAll(set2);
```
最后,可以将结果输出。
```java
System.out.println("并集:" + union);
System.out.println("差集:" + difference);
System.out.println("交集:" + intersection);
```
完整代码如下:
```java
import java.util.HashSet;
public class SetOperations {
public static void main(String[] args) {
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);
HashSet<Integer> union = new HashSet<>(set1);
union.addAll(set2);
HashSet<Integer> difference = new HashSet<>(set1);
difference.removeAll(set2);
HashSet<Integer> intersection = new HashSet<>(set1);
intersection.retainAll(set2);
System.out.println("并集:" + union);
System.out.println("差集:" + difference);
System.out.println("交集:" + intersection);
}
}
```
运行代码,将会输出两个HashSet对象的并集、差集和交集。
希望可以帮到您!
阅读全文