java从标准中输入两组整数,求两组整数的异或集和交集,并按从大到小的顺序排列
时间: 2023-06-11 12:10:17 浏览: 258
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
set1.add(sc.nextInt());
}
int m = sc.nextInt();
for (int i = 0; i < m; i++) {
set2.add(sc.nextInt());
}
Set<Integer> intersection = new HashSet<>(set1);
intersection.retainAll(set2);
Set<Integer> xor = new HashSet<>(set1);
xor.addAll(set2);
xor.removeAll(intersection);
List<Integer> sorted = new ArrayList<>(xor);
Collections.sort(sorted, Collections.reverseOrder());
for (int num : intersection) {
sorted.add(num);
}
Collections.sort(sorted, Collections.reverseOrder());
for (int num : sorted) {
System.out.print(num + " ");
}
}
}
```
首先使用`Scanner`类从标准中输入两组整数,并将它们分别存储在`set1`和`set2`中。然后使用`retainAll()`方法找到两个集合的交集,并使用`addAll()`和`removeAll()`方法找到两个集合的异或集。接着将异或集和交集合并成一个列表,并按从大到小的顺序进行排序。最后,遍历排序后的列表并输出结果。
阅读全文