首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.queue的实现如何使用LIFO?

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

Stack Overflow用户
提问于 2011-07-26 16:10:10
回答 7查看 21.4K关注 0票数 13

在Java中:

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

java.util.queue的实现如何使用LIFO而不是FIFO

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-07-26 16:22:55

这里提供的堆栈和LinkedList只是一个集合。队列不是集合。它是并发包的一部分,可以与线程池一起使用。

我刚刚再次验证并阅读了您引用的javadoc。我认为使用LIFO队列的唯一选项是使用带有自定义比较器的优先级队列,该比较器根据插入时间按反向顺序比较元素。

票数 3
EN

Stack Overflow用户

发布于 2013-07-30 10:46:57

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

代码语言:javascript
复制
Queue<Integer> arrayLifoQueue = Collections.asLifoQueue(new ArrayDeque<Integer>());
Queue<Integer> linkedListLifoQueue = Collections.asLifoQueue(new LinkedList<Integer>());
票数 22
EN

Stack Overflow用户

发布于 2011-07-26 16:13:07

您可以使用一个java.util.LinkedList,并使用pop()push()方法,并像堆栈一样使用它,这是一个LIFO队列。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6833140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档