Я пытаюсь создать функцию «истории», которая соответствует характеристикам 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();
, потому что, если я не ошибаюсь, это приведет к удалению данных в стеке.
Как я могу это сделать?
Заранее спасибо.