检查值是否在ArrayList <int []>中

时间:2016-10-09 18:03:22

标签: java arraylist int

晚上好人,这里有新手。我需要重写我老师给我的代码段,以便为迷宫求解器创建动画,我的老师用ArrayList<int[]> nodes = new ArrayList<int[]>();来存储走路(x / y坐标)。

坐标通过nodes.add(new int[]{x,y});

存储

现在,当解算器必须在死胡同后向后“行走”时,必须从ArrayList中删除节点,并且我想检查坐标是否是节点。在这种情况下,我想知道最后添加的节点是否是我要去的坐标。

当我打印System.out.println(nodes.get(nodes.size()-1))时,我得到类似的内容:[I@6cbb6079

我如何比较nodes.get(nodes.size()-1)int x = 5, y = 7;

3 个答案:

答案 0 :(得分:1)

将节点(数组,因此使用[]括号)的值与xy值进行比较:

if (nodes.get(nodes.size()-1)[0] == x && nodes.get(nodes.size()-1)[1] == y)
    System.out.println("equals");

如果您有Node课程,则可以为其实施equals()方法,并以这种方式使用它:

if (nodes.get(nodes.size()-1).equals(new Node(x,y)))
    System.out.println("equals");

答案 1 :(得分:0)

这是因为您正在打印阵列而打印出来的参考!尝试打印出索引。

例如:x为System.out.println(nodes.get(nodes.size()-1)[0]),y为System.out.println(nodes.get(nodes.size()-1)[1])

答案 2 :(得分:0)

您将获得位置数组大小为-1的数组元素。 只需要从数组索引获取值,添加索引就可以获得结果 喜欢 -

nodes.get(nodes.size()-1)[0]
nodes.get(nodes.size()-1)[1]