【发布时间】:2020-03-23 18:42:57
【问题描述】:
如何添加 int 值,然后遍历堆栈获取 LIFO 顺序?添加 7 和 1 会返回 7 和 1。
public void calculate_10to99() {
Stack romanNumeralsStack = new Stack();
romanNumeralsStack.add(7);
romanNumeralsStack.add(1);
Iterator value = romanNumeralsStack.iterator();
while (value.hasNext()){
System.out.println(value.next());
}
【问题讨论】:
-
使用
Deque。具体来说,使用ArrayDeque。 阅读StackJavadoc。它说(部分)Deque接口及其实现提供了一组更完整和一致的 LIFO 堆栈操作,应该优先使用此类。 -
如果需要先进先出顺序,为什么要使用堆栈?
-
在问题的标题中,您提到了 LIFO,但在描述中您想要 FIFO。请清除问题。
-
不要使用迭代器,只需使用 romanNumeralsStack.push() 而不是 add() 和 pop() 来删除,你应该得到 LIFO
-
@oxy_js 我认为 mat1 表示他期待 LIFO 订单但获得 FIFO 订单