gpt4 book ai didi

java - 将节点列表的元素扔到堆栈上

转载 作者:行者123 更新时间:2023-12-01 04:37:56 26 4
gpt4 key购买 nike

我正在使用 Java,并且有一个节点列表,我需要使用 List 按从最后到第一个的顺序将其放在堆栈上。

示例:

我的列表是 {node1,node2,node3}

我的堆栈应该是

{

节点1,

节点2,

节点3

}

如何轻松解决这个问题?

这行得通吗?

if (hasWhiteNeighbor(startNode)) {
List<Node> conNodes = getAdjacentNodes(startNode);
while (conNodes.size() > 0) {
int conCount = conNodes.size();
stack.push(conNodes.get(conCount));
conNodes.remove(conCount);
}
}

最佳答案

因为List保证迭代的顺序与元素添加的顺序相同,所以你可以很容易地解决这个问题,只需按照正确的顺序将节点添加到列表中,然后迭代列表并添加将每个元素放入堆栈。

List<String> stringList = new ArrayList<String>();
stringList.add("node1");
stringList.add("node2");
stringList.add("node3");

Deque<String> stringStack = new ArrayDeque<String>();
for (String s : stringList) {
stringStack.push(s);
}

while (!stringStack.isEmpty()) {
System.out.println(stringStack.pop());
}

上面的代码产生以下输出:

node3
node2
node1

链接
http://docs.oracle.com/javase/7/docs/api/java/util/List.html
http://docs.oracle.com/javase/7/docs/api/java/util/Stack.html
http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html

关于java - 将节点列表的元素扔到堆栈上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17056909/

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