美文网首页
java 比较两个List是否相等

java 比较两个List是否相等

作者: BayRoc | 来源:发表于2020-12-11 12:20 被阅读0次
/**
     * 比较两个List集合是否相等
     * <p>注:1. 如果一个List的引用为null,或者其包含的元素个数为0,那么该List在本逻辑处理中都算作空;
     * <p>2. 泛型参数E涉及到对象,所以需要确保正确实现了对应对象的equal()方法。
     * @param list1
     * @param list2
     * @return
     */
    public static <E>boolean isListEqual(List<E> list1, List<E> list2) {
        // 两个list引用相同(包括两者都为空指针的情况)
        if (list1 == list2) {
            return true;
        }

        // 两个list都为空(包括空指针、元素个数为0)
        if ((list1 == null && list2 != null && list2.size() == 0)
                || (list2 == null && list1 != null && list1.size() == 0)) {
            return true;
        }

        // 两个list元素个数不相同
        if (list1.size() != list2.size()) {
            return false;
        }

        // 两个list元素个数已经相同,再比较两者内容
        // 采用这种可以忽略list中的元素的顺序
        // 涉及到对象的比较是否相同时,确保实现了equals()方法
        if (!list1.containsAll(list2)) {
            return false;
        }

        return true;
    }

相关文章

  • java 比较两个List是否相等

  • java比较两个list是否相等

    判断两个list是否相等:先判断list的个数是否相等,然后判断是否相互包含。public boolean equ...

  • python集合操作

    判断两个list是否相等 判断两个tuple是否相等 判断两个set是否相等 list转set list转tupl...

  • java 判断list是否相等

    这里的相等是指两个列表包含元素的个数和元素对应顺序的相等。 用List.equals方法(前提是元素的equals...

  • Java中==和equals的区别,equals和hashCod

    在java中: ==是运算符,用于比较两个变量是否相等。 equals,是Objec类的方法,用于比较两个对象是否...

  • JAVA——比较两个Long 是否相等

    今天在写程序的时候遇到了比较两个Long型的值是否相等的问题,一般来说都会用long1 == long2 这种形式...

  • Kotlin之集合

    list Set Map Q1:键值相同的两个map相等么 看看Java的比较结果为 Java的结果是我们熟悉的,...

  • equals和==分析

    基本概念 在 Java中 ==是运算符,比较的是两个变量是否相等;equals()是Object方法,用于比较两个...

  • == , equals,hashCode

    在java中: == 是运算符,用于比较两个变量是否相等。 equals 是Objec类的方法,用于比较两个对象是...

  • Java基础(1)

    java中==和equals和hashCode的区别 ==:运算符,比较变量是否相等,或者两个对象的地址值是否相同...

网友评论

      本文标题:java 比较两个List是否相等

      本文链接:https://www.haomeiwen.com/subject/yyrjgktx.html