處理大數據量的集合交集可以使用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來計算兩個集合的交集。通過并行處理可以提高處理大數據量集合的性能。