java.util.queue 的实现如何使用 LIFO?

2022-09-04 05:22:40

在 Java 文档中:

[...]例外情况包括优先级队列,它根据提供的比较器对元素进行排序,或者元素的自然排序,以及LIFO队列(或堆栈),它对元素进行排序LIFO(后进先出)

如何实现使用后进先出而不是先进先出java.util.queue


答案 1

您可以使用 Collections.asLifoQueue 方法将任何 Deque 用作 LIFO 队列:

Queue<Integer> arrayLifoQueue = Collections.asLifoQueue(new ArrayDeque<Integer>());
Queue<Integer> linkedListLifoQueue = Collections.asLifoQueue(new LinkedList<Integer>());

答案 2

您可以使用 和 和 and 方法,并将其用作堆栈,即 LIFO 队列。java.util.LinkedListpop()push()


推荐