gpt4 book ai didi

java - LinkedList 陷入无限循环。尝试获取下一个节点

转载 作者:行者123 更新时间:2023-11-30 07:59:21 25 4
gpt4 key购买 nike

当尝试获取LinkedList中的下一个节点时,它陷入了无限循环。这不是抢新的。

显然,我没有在下一个项目上调用 getNext(),而是在第一个节点上调用它,因此它只返回第二个节点。

感谢任何帮助。

    public static final GroundItem[] getGroundItemsAt(final int x, final int y) {
try {
final Object deque = Game.getGroundItems()[Game.getPlane()][x][y];

if (deque == null) {
return null;
}
Deque deq = new Deque(deque);
ArrayList<GroundItem> list = new ArrayList<>();
Object holder = deq.getHead();
Node hold = new Node(holder);
Object curNode = hold.getNext();
Node cur = new Node(curNode);
//HERE IS WHERE LOOP STARTS
while (cur != null && cur != hold && cur != deq.getHead()) {

Object groundItem = cur;
final OtherItem groundIt = new OtherItem(groundItem);
System.out.println("X: " + x + " Y: " + y + " cur: " + cur);
list.add(new GroundItem(groundIt, x, y));
curNode = cur.getNext(); //Trying to grab next item
//stuck in infinite loop now.....
}
return list.toArray(new GroundItem[list.size()]);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

最佳答案

循环检查变量 cur,但您只更改变量 curNode,因此循环将始终处理相同的元素。

关于java - LinkedList 陷入无限循环。尝试获取下一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177448/

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