chitGPT和 ChatGPT 有何区别
时间: 2023-11-13 15:04:56 浏览: 68
可以使用两种方法来找出两个集合中的重复元素:
1. 使用两个循环遍历集合a和集合b,比较每个元素是否相同。如果相同,就将其添加到另一个集合中。这个方法的时间复杂度是O(n^2),不适合处理大型数据集。
示例代码:
```
Set<Integer> setA = new HashSet<>();
Set<Integer> setB = new HashSet<>();
Set<Integer> result = new HashSet<>();
// 填充集合a和集合b
for (int i = 0; i < 10000; i++) {
setA.add(i);
setB.add(i + 5000);
}
// 找出重复元素
for (int a : setA) {
for (int b : setB) {
if (a == b) {
result.add(a);
}
}
}
System.out.println(result); // 输出 [5000, 5001, 5002, ...]
```
2. 使用Java 8的stream API,将两个集合转换为流,使用filter过滤出相同的元素,将结果收集到一个集合中。这个方法的时间复杂度是O(n),比第一种方法更快。
示例代码:
```
Set<Integer> setA = new HashSet<>();
Set<Integer> setB = new HashSet<>();
Set<Integer> result;
// 填充集合a和集合b
for (int i = 0; i < 10000; i++) {
setA.add(i);
setB.add(i + 5000);
}
// 找出重复元素
result = setA.stream()
.filter(setB::contains)
.collect(Collectors.toSet());
System.out.println(result); // 输出 [5000, 5001, 5002, ...]
```
阅读全文