数组对比取相同的Java实现
1. 流程图
graph TB
A(开始) --> B(输入数组A)
B --> C(输入数组B)
C --> D(比较两个数组)
D --> E(输出相同的元素)
E --> F(结束)
2. 代码实现
首先,我们需要定义一个方法,该方法接收两个数组作为参数,并返回两个数组中相同的元素。
public static int[] compareArrays(int[] arrayA, int[] arrayB) {
// 创建一个空的List,用于保存相同的元素
List<Integer> commonElements = new ArrayList<>();
// 遍历数组A的每个元素
for (int i = 0; i < arrayA.length; i++) {
int currentElement = arrayA[i];
// 遍历数组B的每个元素,并与当前元素比较
for (int j = 0; j < arrayB.length; j++) {
if (currentElement == arrayB[j]) {
// 如果两个元素相同,则将其添加到commonElements
commonElements.add(currentElement);
break;
}
}
}
// 将commonElements转换为int数组并返回
return commonElements.stream().mapToInt(Integer::intValue).toArray();
}
在上述代码中,我们使用两个嵌套的循环遍历两个数组,比较每个元素是否相同,并将相同的元素添加到一个List中。最后,将List转换为int数组并返回。
3. 使用示例
public static void main(String[] args) {
int[] arrayA = {1, 2, 3, 4, 5};
int[] arrayB = {3, 4, 5, 6, 7};
int[] commonElements = compareArrays(arrayA, arrayB);
System.out.println("相同的元素是:");
for (int element : commonElements) {
System.out.println(element);
}
}
在上述示例中,我们创建了两个数组arrayA
和arrayB
,并将它们作为参数传递给compareArrays
方法。然后,我们打印出两个数组中相同的元素。
4. 类图
classDiagram
class ArrayComparator {
+compareArrays(int[] arrayA, int[] arrayB): int[]
}
在类图中,我们定义了一个名为ArrayComparator
的类,该类包含一个compareArrays
方法来实现数组的比较。
5. 序列图
sequenceDiagram
participant 小白
participant 开发者
小白->>开发者: 提问如何实现数组对比取相同Java?
开发者->>小白: 向我展示你的两个数组
小白->>开发者: [1, 2, 3, 4, 5]和[3, 4, 5, 6, 7]
开发者->>小白: 使用compareArrays方法进行比较
Note right of 开发者: compareArrays方法的实现<br/>请参考上述代码
开发者-->>小白: 相同的元素是:[3, 4, 5]
在序列图中,小白向开发者提问如何实现数组对比取相同,开发者要求小白展示他的两个数组。开发者使用compareArrays
方法进行比较,并告诉小白相同的元素是[3, 4, 5]
。
通过以上步骤,小白学会了如何实现数组对比取相同的Java代码。