Java数组交集的实现
作为一名经验丰富的开发者,我将教会你如何实现"java 数组交集 ArrayUtil"。首先,让我们来了解一下整个流程。
流程图
flowchart TD
A[开始] --> B[输入数组1和数组2]
B --> C[使用HashSet存储数组1中的元素]
C --> D[创建一个ArrayList存储交集元素]
D --> E[遍历数组2,判断元素是否在HashSet中]
E --> F[将交集元素添加到ArrayList中]
F --> G[将ArrayList转换为数组]
G --> H[返回交集数组]
H --> I[结束]
步骤和代码示例
- 输入数组1和数组2。
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {4, 5, 6, 7, 8};
- 使用HashSet存储数组1中的元素。
Set<Integer> set = new HashSet<>();
for (int num : array1) {
set.add(num);
}
- 创建一个ArrayList存储交集元素。
List<Integer> intersection = new ArrayList<>();
- 遍历数组2,判断元素是否在HashSet中。
for (int num : array2) {
if (set.contains(num)) {
intersection.add(num);
}
}
-
将交集元素添加到ArrayList中。
-
将ArrayList转换为数组。
int[] result = new int[intersection.size()];
for (int i = 0; i < intersection.size(); i++) {
result[i] = intersection.get(i);
}
- 返回交集数组。
return result;
下面是完整的代码示例:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ArrayUtil {
public static int[] getIntersection(int[] array1, int[] array2) {
Set<Integer> set = new HashSet<>();
for (int num : array1) {
set.add(num);
}
List<Integer> intersection = new ArrayList<>();
for (int num : array2) {
if (set.contains(num)) {
intersection.add(num);
}
}
int[] result = new int[intersection.size()];
for (int i = 0; i < intersection.size(); i++) {
result[i] = intersection.get(i);
}
return result;
}
}
通过以上代码,我们可以实现一个能够计算两个整型数组交集的ArrayUtil工具类。可以通过调用getIntersection
方法,传入两个数组参数来获取它们的交集。
希望这篇文章能够帮助你理解如何实现"java 数组交集 ArrayUtil"。如果有任何问题,请随时向我提问。