(简答题) 集合编程作业: 给定两个集合A、B,验证集合的并、交、相对补和对称差运算。用cjava来实现
时间: 2024-01-24 09:16:54 浏览: 104
离散数学实验四编程实现集合的交、并、差和补运算
5星 · 资源好评率100%
以下是用 Java 实现集合的并、交、相对补和对称差运算的代码:
```java
import java.util.HashSet;
import java.util.Set;
public class SetOperationDemo {
public static void main(String[] args) {
Set<Integer> setA = new HashSet<>(); // 集合A
Set<Integer> setB = new HashSet<>(); // 集合B
// 添加元素
setA.add(1);
setA.add(2);
setA.add(3);
setB.add(2);
setB.add(3);
setB.add(4);
// 集合的并
Set<Integer> unionSet = new HashSet<>(setA);
unionSet.addAll(setB);
System.out.println("集合的并为:" + unionSet);
// 集合的交
Set<Integer> intersectionSet = new HashSet<>(setA);
intersectionSet.retainAll(setB);
System.out.println("集合的交为:" + intersectionSet);
// 集合的相对补
Set<Integer> differenceSet = new HashSet<>(setA);
differenceSet.removeAll(setB);
System.out.println("集合A的相对补为:" + differenceSet);
differenceSet = new HashSet<>(setB);
differenceSet.removeAll(setA);
System.out.println("集合B的相对补为:" + differenceSet);
// 集合的对称差
Set<Integer> symmetricDifferenceSet = new HashSet<>(setA);
symmetricDifferenceSet.addAll(setB);
Set<Integer> tmp = new HashSet<>(setA);
tmp.retainAll(setB);
symmetricDifferenceSet.removeAll(tmp);
System.out.println("集合的对称差为:" + symmetricDifferenceSet);
}
}
```
输出结果为:
```
集合的并为:[1, 2, 3, 4]
集合的交为:[2, 3]
集合A的相对补为:[1]
集合B的相对补为:[4]
集合的对称差为:[1, 4]
```
阅读全文