Java实现给定两个集合A、B,验证集合的并、交、相对补和对称差运算。
时间: 2024-01-29 18:02:57 浏览: 68
离散数学实验四编程实现集合的交、并、差和补运算
5星 · 资源好评率100%
可以使用Java中的Set集合来实现集合的并、交、相对补和对称差运算。以下是实现代码:
```java
import java.util.HashSet;
import java.util.Set;
public class SetOperations {
public static void main(String[] args) {
Set<Integer> setA = new HashSet<>();
Set<Integer> setB = new HashSet<>();
// 添加元素到集合A
setA.add(1);
setA.add(2);
setA.add(3);
// 添加元素到集合B
setB.add(3);
setB.add(4);
setB.add(5);
// 计算并集
Set<Integer> union = new HashSet<>(setA);
union.addAll(setB);
System.out.println("集合A和集合B的并集为:" + union);
// 计算交集
Set<Integer> intersection = new HashSet<>(setA);
intersection.retainAll(setB);
System.out.println("集合A和集合B的交集为:" + intersection);
// 计算集合A相对补集
Set<Integer> differenceA = new HashSet<>(setA);
differenceA.removeAll(setB);
System.out.println("集合A相对于集合B的补集为:" + differenceA);
// 计算集合B相对补集
Set<Integer> differenceB = new HashSet<>(setB);
differenceB.removeAll(setA);
System.out.println("集合B相对于集合A的补集为:" + differenceB);
// 计算对称差
Set<Integer> symDifference = new HashSet<>(setA);
symDifference.addAll(setB);
Set<Integer> tmp = new HashSet<>(setA);
tmp.retainAll(setB);
symDifference.removeAll(tmp);
System.out.println("集合A和集合B的对称差为:" + symDifference);
}
}
```
输出结果为:
```
集合A和集合B的并集为:[1, 2, 3, 4, 5]
集合A和集合B的交集为:[3]
集合A相对于集合B的补集为:[1, 2]
集合B相对于集合A的补集为:[4, 5]
集合A和集合B的对称差为:[1, 2, 4, 5]
```
阅读全文