Java求两个数组的交集
时间: 2023-12-24 08:03:22 浏览: 163
你好,这是一个关于Java数组求交集的问题。可以使用Java提供的Set集合进行处理。首先将一个数组转化为Set集合,然后遍历另一个数组,在第一个数组的Set集合中查找是否存在相同的元素,如果存在,则添加到结果集合中。
以下是代码示例:
```java
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
int[] nums1 = {1,2,2,1};
int[] nums2 = {2,2};
int[] res = intersection(nums1, nums2);
for (int num : res) {
System.out.print(num + " ");
}
}
public static int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
// 将数组1转化为Set集合
for(int num : nums1) {
set1.add(num);
}
// 遍历数组2,在数组1的Set集合中查找是否存在相同的元素
for (int num : nums2) {
if (set1.contains(num)) {
set2.add(num);
}
}
// 将结果Set集合转化为数组
int[] res = new int[set2.size()];
int index = 0;
for (int num : set2) {
res[index++] = num;
}
return res;
}
}
```
输出结果为:2 1
阅读全文