处理大数据量的集合交集可以使用Java中的Stream API和ParallelStream来提高性能。以下是一个示例代码:
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
// 添加大量数据到集合中
for (int i = 0; i < 1000000; i++) {
set1.add(i);
set2.add(i * 2);
}
// 使用Stream API和ParallelStream计算交集
long startTime = System.currentTimeMillis();
Set<Integer> intersection = set1.stream()
.parallel()
.filter(set2::contains)
.collect(Collectors.toSet());
long endTime = System.currentTimeMillis();
System.out.println("Intersection: " + intersection);
System.out.println("Time taken: " + (endTime - startTime) + "ms");
}
}
在这个示例中,我们首先创建了两个包含大量数据的HashSet集合。然后使用Stream API和ParallelStream来计算两个集合的交集。通过并行处理可以提高处理大数据量集合的性能。