栈使用增强for循环
时间: 2023-11-07 08:53:55 浏览: 42
栈是一种后进先出(LIFO)的数据结构,使用增强for循环来遍历栈的元素需要一些额外的处理。由于栈没有提供像列表或数组那样的直接访问方法,所以我们需要使用一种间接的方式来遍历栈。
Java 中可以使用 java.util.Stack 类来实现栈。以下是使用增强for循环遍历栈的示例代码:
```java
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
// 使用增强for循环遍历栈,需要先将栈中的元素倒转
Stack<Integer> tempStack = new Stack<>();
while (!stack.isEmpty()) {
tempStack.push(stack.pop());
}
for (int element : tempStack) {
System.out.println(element);
}
// 恢复原来的栈顺序
while (!tempStack.isEmpty()) {
stack.push(tempStack.pop());
}
}
}
```
在这个示例中,我们先将栈中的元素倒转到一个临时栈 tempStack 中,然后使用增强for循环遍历 tempStack,最后将元素恢复到原来的栈顺序。
请注意,由于在遍历过程中改变了栈的顺序,所以在使用增强for循环遍历栈后,需要根据实际需求决定是否需要恢复原来的栈顺序。