gpt4 book ai didi

java - 在 ArrayList 中查找数组的索引

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:08 25 4
gpt4 key购买 nike

是否可以在 ArrayList 中找到数组的索引?

indexOf 方法似乎不起作用。例如,对于给定的大小为 2 的数组列表,此代码打印“-1”

List<Integer[]> nodes = new ArrayList<Integer[]>();
nodes.add(new Integer[] {1,1});
System.out.println(nodes.indexOf(new Integer[] {1, 1}));

最佳答案

原始 Java 数组的 equals() 实现执行引用相等性检查。意思是,只有当引用指向数组的相同实例时,它们才被认为是相等的。

您可以编写自己的使用 Arrays.equals() 静态方法的索引查找方法,如下所示:

List<Integer[]> nodes = new ArrayList<Integer[]>();
nodes.add(new Integer[] {1,1});
Integer[] lookingFor = new Integer[] {1,1};
int index = -1;
for (int i = 0; i < nodes.size(); i++) {
Integer[] array = nodes.get(i);
if (Arrays.equals(lookingFor, array)) {
index = i;
break;
}
}
System.out.println(index); // 0

关于java - 在 ArrayList 中查找数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616814/

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