我正在尝试创建一种遵循 LIFO 特征的“历史”特征。最后输入第一个输出。
因此,用户将介绍一些单词,这些单词将存储在堆栈中,以便在后面打印它们。该程序总结如下:
Stack<String> history = new Stack<>();
String word = null;
while (!word.equals(exit)) {
word = scan.nextLine();
if (word.equals(show)) {
showHistory();
} else {
history.push(word);
}
}
并且showHistory();
函数具有这种格式:
for (String i : history) {
System.out.println(i);
}
问题是,当我执行此操作时,我得到的输出是用户可能已经介绍的单词,但采用 FIFO 格式。例如,如果用户介绍:
铅笔
书
衬衫
该程序显示的输出是:
铅笔
书
衬衫
但我想要的输出,遵循 LIFO 格式是:
衬衫
书
铅笔
我也不想删除堆栈在执行的任何时候存储的数据,所以我不想使用history.pop();
,因为如果我没记错的话,那会删除堆栈中的数据。
我怎样才能做到这一点?
提前致谢。