gpt4 book ai didi

java - 如何使用 Java 8 Stream 实现 Stack Iteration

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:10 25 4
gpt4 key购买 nike

我有一个 Stack<Object>和下面的一段代码:

while(!stack.isEmpty()){
Object object = stack.pop();
// do some operation on object
}

如何使用 Java 8 Stream 实现此迭代,以便它循环直到堆栈为空,并且在每次迭代中都应通过从顶部弹出一个元素来减少堆栈?

最佳答案

在 Java 9 中,将有一个 3-arg 版本的 Stream.iterate(就像一个 for 循环——初始值,用于确定输入结束的 lambda,用于确定下一个输入的 lambda ) 可以做到这一点,尽管它会有点紧张:

if (!stack.isEmpty()) {
Stream.iterate(stack.pop(),
e -> !stack.isEmpty(),
e -> stack.pop())
...
}

关于java - 如何使用 Java 8 Stream 实现 Stack Iteration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159906/

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