判断两个数组是否相等

这篇具有很好参考价值的文章主要介绍了判断两个数组是否相等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在判断两个数组是否相等之前,我们应该弄清楚数组怎样才算相等,官方给的解释是这样的:

Returns true if the two specified arrays of ints are equal to one another. Two arrays are considered equal if both arrays contain the same number of elements, and all corresponding pairs of elements in the two arrays are equal. In other words, two arrays are equal if they contain the same elements in the same order. Also, two array references are considered equal if both are null.

如果指定的两个Int数组彼此相等,则返回true。如果两个数组包含相同数量的元素,并且两个数组中所有对应的元素对都相等,则认为两个数组相等。换句话说,如果两个数组以相同的顺序包含相同的元素,则它们是相等的。此外,如果两个数组引用都为null,则认为这两个数组引用相等。

(1)判断两个数组是否相等的方法

    public static boolean isSamAarry(int[] arrayA, int[] arrayB) {
        if (arrayA == arrayB) {
            return true;
        }
        if (arrayA == null || arrayB == null) {
            return false;
        }
        int len = arrayA.length;
        if (len != arrayB.length) {
            return false;
        }
        for (int i = 0; i < len; i++) {
            if (arrayA[i] != arrayB[i]) {
                return false;
            }
        }
        return true;
    }

(2)在main方法中定义几个数组,并进行测试:

    public static void main(String[] args) {
        //首先定义几个数组,用于测试
        int[] arr1 = null;
        int[] arr2 = null;
        int[] arr3 = {1, 2, 3, 4, 5};
        int[] arr4 = {1, 2, 3, 4, 5};
        int[] arr5 = {1, 2, 6, 6, 5};

        //两个数组引用都为null-->相等
        System.out.println(isSamAarry(arr1,arr2));  //true
        //两个数组引用其中一个为null-->不等
        System.out.println(isSamAarry(arr1,arr3));  //false
        //相同顺序的相同元素--->相等
        System.out.println(isSamAarry(arr3,arr4));  //true
        System.out.println(isSamAarry(arr4,arr5));  //false
    }

以上为手写的方法,并进行了调用。其实在Java中已经有写好的相关方法(Arrays类提供了equals()方法比较整个数组),直接调用即可:

    public static void main(String[] args) {
        int[] arr1 = null;
        int[] arr2 = null;
        int[] arr3 = {1, 2, 3, 4, 5};
        int[] arr4 = {1, 2, 3, 4, 5};
        int[] arr5 = {1, 2, 6, 6, 5};

        System.out.println(Arrays.equals(arr1,arr2)); //true
        System.out.println(Arrays.equals(arr1,arr3)); //false
        System.out.println(Arrays.equals(arr3,arr4)); //true
        System.out.println(Arrays.equals(arr4,arr5)); //false
    }

源码如下:

    public static boolean equals(int[] a, int[] a2) {
        if (a==a2)
            return true;
        if (a==null || a2==null)
            return false;

        int length = a.length;
        if (a2.length != length)
            return false;

        for (int i=0; i<length; i++)
            if (a[i] != a2[i])
                return false;

        return true;
    }

 文章来源地址https://www.toymoban.com/news/detail-614006.html

到了这里,关于判断两个数组是否相等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go语言如何判断两个对象是否相等

    在编程中,判断两个对象是否相等是一项常见的任务,同时判断对象是否相等在很多情况下都非常重要,例如: 单元测试 :编写单元测试时,经常需要验证函数的输出是否符合预期,这涉及到比较对象是否相等。 数据结构操作 :在使用 map 等数据结构时,可能需要判断两个对

    2024年02月07日
    浏览(144)
  • 在JS中如何判断两个对象是否相等

    在JavaScript中,判断两个对象是否相等有多种方法,取决于你对 相等 的定义以及对象属性的类型。以下是几种常见的方法:   1. 严格相等运算符 (===) 使用 === 运算符可以比较两个对象是否引用同一个对象。如果两个变量引用了同一个对象,则它们是相等的,否则它们是不相等

    2024年02月03日
    浏览(59)
  • js 判断两个字符串是否相等(有两种方法)

    使用比较运算符判断两个字符串是否相等 可以使用比较运算符 === 或 == 来判断两个字符串是否相等。例如: 在上述代码中,我们定义了两个字符串变量 str1 和 str2 ,并使用 === 运算符来比较它们的值。如果两个字符串相等,则输出 两个字符串相等 ;否则输出 两个字符串不相

    2024年02月05日
    浏览(78)
  • Python字符串比较:如何判断两个字符串是否相等?

    Python字符串比较:如何判断两个字符串是否相等? 在Python编程中,字符串是最常用的数据类型之一。当我们需要比较两个字符串时,通常需要判断它们是否相等。这篇文章将详细介绍Python中比较两个字符串的方法。 使用“==”运算符比较字符串 在Python中,可以使用“==”运算

    2023年04月11日
    浏览(72)
  • 【python基础知识】python中怎么判断两个字符串是否相等

    目录 有哪些判断方法 1. == 运算符 2. is 运算符 有哪些特殊情况 1. 字符串中包含空格、换行符、制表符等特殊字符 2. 字符串编码格式的不同 3. 字符串对象的创建方式不同 注意事项 1. 避免使用is运算符进行字符串比较 2. 注意空格、换行符、制表符等特殊字符的影响 3. 注意字符

    2024年02月08日
    浏览(84)
  • JavaScript判断两个数组相等的四类方法

    在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回 object 。 如果我们需要比较两个数组是否相等,不能像比较基本类型(String、Number、Boolean等)一样,使用 === (或 == ) 来判断,所以如果要比较数组是否相等,需要使用一些特殊方法。关于JS类型的判断,可见博文

    2024年02月09日
    浏览(66)
  • [开发|java] java 比较两个对象的指定属性的值是否相等

    Java中比较两个对象的指定属性的值是否相等,可以使用Apache Commons Lang库中的EqualsBuilder类。EqualsBuilder提供了一种便捷的方法来比较两个对象的属性值是否相等,具体步骤如下: 通过构造器创建一个EqualsBuilder对象。 调用EqualsBuilder对象的append方法,传入需要比较的两个对象以

    2024年02月16日
    浏览(57)
  • java判断字符串是否和空字符串(““)相等、是否和空引用(null)相等,比较顺序不同导致出现死代码(Dead code)

    我在用Java实现需求的时候,用到了字符串跟空字符串(“”)比较,跟空引用null比较,两个比较语句的顺序不同,一个顺序出现了死代码(Dead code)。 下面这个代码片段,字符串line跟空字符串(“”)的比较放在跟null的比较前面,编译器提醒红色方框中的代码是死代码:

    2024年02月14日
    浏览(70)
  • java中怎么比较两个自定义实体对象是否相等(比如在Set数据结构中去重)

    有一个类Person,需要判断Account类的对象account1,account2是否相等。 判断规则为,当id(int类型判断是否带下相等)和department(判断字符串内容是否相等)属性均相等时(默认两个属性都必须非空,若有属性为空则认为两个对象不等),则认为该Account类对象相等。 以下开始介绍如何

    2024年02月16日
    浏览(60)
  • Java 判断两个IP段是否有交集

    一、背景介绍 在有些场景,需要判断IP段是否有交集,比如:配置一些设备的过滤规则,避免IP段重复配置,需要做IP段是否重叠的校验。 IP段有交集的场景有几种: 1)IP段1包含IP段2; 2)IP段2包含IP段1; 3)IP段1的起始IP与IP段2的结束IP相同,或者IP段1的结束IP与IP段2的起始

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包