编写程序,求两个集合的交集,用两个数组表示集合,假设集合中元素不重复java
时间: 2024-09-18 08:17:08 浏览: 38
两个List集合取相同重复数据的方法
在Java中,你可以使用`HashSet`或者`BitSet`数据结构来编写一个函数来求两个集合(即两个数组)的交集。这里我们使用`HashSet`因为它的查找操作效率高。以下是简单的示例:
```java
import java.util.HashSet;
public class Main {
public static HashSet<Integer> findIntersection(int[] set1, int[] set2) {
// 创建两个HashSet来存储集合
HashSet<Integer> set1HashSet = new HashSet<>(Arrays.asList(set1));
HashSet<Integer> set2HashSet = new HashSet<>(Arrays.asList(set2));
// 找到并返回它们的交集
return set1HashSet.retainAll(set2HashSet);
}
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {4, 5, 6, 7, 8};
HashSet<Integer> intersection = findIntersection(array1, array2);
System.out.println("Intersection: " + intersection); // 输出交集
// 或者打印交集元素个数
System.out.println("Number of elements in the intersection: " + intersection.size());
}
}
```
在这个例子中,`findIntersection`函数接受两个整数数组作为输入,将它们转换为`HashSet`,然后调用`retainAll`方法找到共同的元素。`retainAll`会保留set1中存在的且也在set2中的所有元素。
阅读全文