欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

比较两个数组是否完全相同案例

程序员文章站 2024-03-16 13:03:04
...

需求

定义一个方法,用于比较两个数组的内容是否相同

思路分析

要完成上述的需求,那么我们也可以去定义一个方法进行实现。
            该方法需要完成的功能就是判断两个数组的内容是否相同

            两个明确:
                1、返回值类型     boolean类型
                2、参数列表       2个数据类型的参数

代码实现

注:抽取了一个方法,实现不考虑顺序比较的情况

  • 排序方法中,我使用了sort方法和冒泡排序
import java.util.Arrays;

/**
 * Created by Intellij IDEA.
 *
 * @Description: 需求:定义一个方法,用于比较两个数组的内容是否相同
 */
public class IsEquals {
    public static void main(String[] args) {
        int[] arr01 = {23, 45, 67, 100};
        int[] arr02 = {23, 45, 23, 100};
        boolean flag = isEqualsArray(arr01, arr02);
        //根据返回的flag输出判断结果
        if (flag) {
            System.out.println("两个数组完全相同!");
        } else {
            System.out.println("两个数组不同!");
        }
    }

    /**
     * 比较方法,判断两个数组是否完全相同
     *
     * @param arr01 第一个数组
     * @param arr02 第二个数组
     * @return 返回boolean类型变量
     */
    private static boolean isEqualsArray(int[] arr01, int[] arr02) {
        //如果不考虑顺序的话,调用sortArray方法,将两个数组先排序,在比较
        sortArray(arr01, arr02);

        if (arr01.length != arr02.length) {
            return false;
        }
        for (int i = 0; i < arr01.length; i++) {
            if (arr01[i] != arr02[i]) {
                return false;
            }
        }
        return true;
    }

    /**
     * 对两个数组分别排序后在进行比较
     *
     * @param arr01 第一个数组
     * @param arr02 第二个数组
     */
    private static void sortArray(int[] arr01, int[] arr02) {
        //使用Arrays的sort方法进行排序
        Arrays.sort(arr01);
        Arrays.sort(arr02);

        //使用冒泡排序
        /*for (int i = 0; i < arr01.length - 1; i++) {
            for (int j = 0; j < arr01.length - 1 - i; j++) {
                if (arr01[j] > arr01[j + 1]) {
                    int temp = arr01[j];
                    arr01[j] = arr01[j + 1];
                    arr01[j + 1] = temp;
                }
            }
        }
        for (int i = 0; i < arr02.length - 1; i++) {
            for (int j = 0; j < arr02.length - 1 - i; j++) {
                if (arr02[j] > arr02[j + 1]) {
                    int temp = arr02[j];
                    arr02[j] = arr02[j + 1];
                    arr02[j + 1] = temp;
                }
            }
        }*/
    }
}