gpt4 book ai didi

java - 我有一个 arrayList,其中每个元素都是 length 的整数数组。我如何在这里使用 .contains 方法?

转载 作者:行者123 更新时间:2023-11-30 02:48:02 24 4
gpt4 key购买 nike

我知道这有点令人困惑,但我基本上想检查整数数组的 arrayList 是否包含数组?为了更有意义,我添加了一段代码。

我正在尝试以下代码。但是 .contains 方法在检查数组时似乎不起作用。另一种方法将会非常有帮助。

int[] data = {1, 2};
int[] data2 = {3, 4};
int[] dataCheck = {1, 2};

ArrayList<int[]> megaData = new ArrayList<int[]>();
megaData.add(data);
megaData.add(data2);

if (megaData.contains(dataCheck)) {
System.out.println("A copy has been found");
} else {
System.out.println("No copy found");
}

最佳答案

contains 在这种情况下不起作用,因为数组的 equals 方法仅检查数组对象是否相同,而不检查它们是否具有相同的元素(cp。this post)。并且contains使用equals

我的建议是仅使用列表而不是数组。 列表有一个equals方法来比较列表的元素。为此必须更改代码的第一行:

List<Integer> data  = Arrays.asList(1,2);
List<Integer> data2 = Arrays.asList(3,4);
List<Integer> dataCheck = Arrays.asList(1,2);
List<List<Integer>> megaData= new ArrayList<List<Integer>>();

Arrays.asList 是创建具有固定元素的列表的简单方法。 List 通常仅使用接口(interface) List 进行声明,而不使用 ArrayList 等实现类进行声明。这使得稍后可以轻松使用另一个 List 实现。

关于java - 我有一个 arrayList,其中每个元素都是 length 的整数数组。我如何在这里使用 .contains 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com