Можем ли мы пересечь стек в заказе FIFO без пользовательской логики?JAVA

Программисты JAVA общаются здесь
Anonymous
Можем ли мы пересечь стек в заказе FIFO без пользовательской логики?

Сообщение Anonymous »

Мой товарищ по команде спросил, можем ли мы пересечь стек в порядке FIFO (сначала в первую очередь). Я говорю, что Стек сам поддерживает в нем порядок LIFO, но мы можем пройти его по манеру, используя другой стек или список. Затем мы задали тот же вопрос с Chatgpt. Я буду обсуждать одно из решений, которые мне предоставил, что Chatgpt. В стеке мы можем вызвать метод итератор (), который возвращает итератор в стеке. И когда мы перечислим, я ожидал, что ответ будет в LIFO ORDER, но фактический ответ будет отображаться на IDE - это FIFO, что заставляет меня удивлять. Это проблема реализации со стороны Java или Oracle? Или это намеренно? < /P>
Использование итератора: < /p>
Stack stack = new Stack();
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
System.out.println("Iterating using Stack's iterator (LIFO order):");
Iterator iterator = stack.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
< /code>
Использование метода POP: < /p>
Stack stack = new Stack();
stack.push(10);
stack.push(20);
stack.push(30);
stack.push(40);
System.out.println("Iterating using Stack's pop method");
while (stack.size()>0) {
System.out.println(stack.pop());
}
< /code>
После исследования и разработки я понимаю, что метод итератора () принадлежит вектору, который унаследовал стек. Таким образом, это реализация поступила от Vector, а не из стека. < /P>
Я просто хочу знать, что это правильное поведение? Java говорит, что его стек следует за порядок LIFO, а с другой стороны, мы можем пройти его в порядке. Метод итератора () должен быть переопределен в стеке по умолчанию, и не должно быть никакого способа пройти стек по порядку FIFO внутри Java. < /p>
Пожалуйста, объясните свою мысль по этому вопросу. Я не говорю, что Ява неверна. Я просто хочу знать, что текущее поведение стека в порядке, или может быть улучшение?

Подробнее здесь: https://stackoverflow.com/questions/796 ... stom-logic

Вернуться в «JAVA»