java - 我可以比较数组与数组的 ArrayList 的相等性吗?

标签 java arrays arraylist

我有整数数组:

int[] arrA = {1,2,3,4,5,6,7,8,9};
int[] arrB1= {7,3,4,1,5,8,9,2,6};
int[] arrB2= {9,5,1,4,7,6,8,2,3};
int[] arrB3= {4,6,1,3,8,9,5,7,2};
int[] arrB4= {2,3,1,5,8,9,4,6,7};
int[] arrB5= {1,2,3,4,5,6,7,8,9};

并且所有arrB都将添加到列表中,如下所示:

List<int[]> list= new ArrayList<int[]>();

list.add(arrB1);
list.add(arrB2);
list.add(arrB3);
list.add(arrB4);
list.add(arrB5);

我想将数组arrA与数组列表的相等性进行比较,我使用以下代码做到了:

boolean isEqual=false;
for(int index=0; index<list.size(); index++){
    if(list.get(index).equals(arrA)){
          isEqual=true;
    }
    System.out.println(isEqual);
}

我知道arrB5等于arrA,但为什么我总是得到错误?我的比较正确吗?

最佳答案

您正在对数组调用 equals - 这将仅通过引用进行比较,因为数组不会覆盖 equals。您想要Arrays.equals(int[], int[])比较数组中的值。

(在这种情况下,您不需要 deepEquals,因为您正在处理 int[] - 实际上调用 deepEquals 不会'无法编译,因为 int[] 不是 Object[]。)

关于java - 我可以比较数组与数组的 ArrayList 的相等性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18169831/

相关文章:

java - 克隆引用相同对象的多个数组列表

android - 如何将自定义对象的 arraylist 从一个 java 类传递到另一个 java 类?

java - hibernate :在嵌入式对象上运行查询/分离标准时出现问题

java - 线程等待通知中的 IllegalMonitorStateException

java - 我应该能够在 Java 正则表达式的单词边界内引用前导或尾随美元符号 ($) 吗?

java - Spring Boot Kotlin项目无法在运行时加载Java类

c++ - 传递给对象时获取数组的长度

javascript - JS 中的函数,返回一个对象,该对象在数组中具有唯一值以及它们出现的次数

php - 用来自一个指定 MySQL 字段的数据填充数组

java - 如果 array 或 arrayList 引用前一个元素,我如何实现一个返回 true 的函数?