Java:如何返回ArrayList中的唯一元素
我正在制作一个机器人迷宫,在那里机器人可以在不撞墙的情况下找到目标。我已经对我的代码进行了彻底的注释,希望它能被理解 在死胡同和走廊处,Java:如何返回ArrayList中的唯一元素,java,arraylist,Java,Arraylist,我正在制作一个机器人迷宫,在那里机器人可以在不撞墙的情况下找到目标。我已经对我的代码进行了彻底的注释,希望它能被理解 在死胡同和走廊处,passageDirectionsArrayList中只有一条通道。我如何返回这个唯一的方向 感谢您的帮助:) PS:我是一名初级程序员,仍在学习如何解释你的答案,就像你要向一个三岁的孩子解释一样:)你可以使用passageDirections.get(0),它将返回列表中的第一个元素。 因为(我希望)您保证列表中只有一个元素,这就解决了您的问题 您应该在呼叫前
passageDirections
ArrayList
中只有一条通道。我如何返回这个唯一的方向
感谢您的帮助:)
PS:我是一名初级程序员,仍在学习如何解释你的答案,就像你要向一个三岁的孩子解释一样:)你可以使用
passageDirections.get(0)
,它将返回列表中的第一个元素。
因为(我希望)您保证列表中只有一个元素,这就解决了您的问题
您应该在呼叫前检查大小,以防止IndexOutOfBoundsException
if (passageDirections.size() > 0)
passageDirections.get(0)
这么简单的解决方案!不知道我是怎么错过的哈哈。问题是,它编译得很好,但是由于某种原因它无法运行:(@codeav3你所说的“…由于某种原因无法运行”是什么意思?在大多数情况下,错误消息中都明确提到了原因:)@pshemo这是一个在程序运行时不断重复的错误。机器人一动不动
java.lang.reflect.InvocationTargetException
…原因是:java.lang.IndexOutOfBoundsException:Index:0,Size:0
…@codeav3所以你得到了原因:所用集合的大小是0,这意味着其中没有元素,所以你不能获取任何元素(因为没有),NetBeans、IntelliJ有自己的调试器。使用您想要的。这不会阻止NullPointerException
,而是阻止IndexOutOfBoundsException
。但首先检查仍然是一个好主意。