数组对比取相同的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);
    }
}

在上述示例中,我们创建了两个数组arrayAarrayB,并将它们作为参数传递给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代码。