gpt4 book ai didi

java - 检查 java 集合列表中包含的值

转载 作者:搜寻专家 更新时间:2023-11-01 02:57:51 25 4
gpt4 key购买 nike

我有一个名为 Arraycells 的长数组 List:

List<long[]> Arraycells = new ArrayList<>() ;
Arraycells.add(new long[]{1L, 0L});
Arraycells.add(new long[]{1L, 1L});
Arraycells.add(new long[]{1L, 2L});

我想看看这个列表中是否包含一个长数组对象:

for (long r = 0L; r < 3; r++) {
for (long c = 0L; c < 3; c++) {
if (Arraycells.contains(new long[]{r, c})) { // problem is with this statement
// do something
}
}
}

如何检查 Arraycells?

最佳答案

您可能想使用 List<Long> 尝试另一种变体而不是 long[] :

List<List<Long>> cells = new ArrayList<>();
cells.add(Arrays.asList(1L, 0L));
cells.add(Arrays.asList(1L, 1L));
cells.add(Arrays.asList(1L, 2L));

for (long i = 0L; i < 3; i++) {
for (long j = 0L; j < 3; j++) {
if (cells.contains(Arrays.asList(i, j))) {
System.out.println("Contains: " + i + ", " + j);
}
}
}

另请注意,您示例中的代码检查引用相等性,因为数组继承 equals来自 Object .另一方面,List.equals(...)实现检查列表是否包含相同的元素和相同的顺序。

关于java - 检查 java 集合列表中包含的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48085349/

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