Java中与C++的STL队列相等的是什么?

6
我正在浏览Java文档,寻找与C++ STL中的Queue等价的Java实现,但我只发现了一个称为Queue的接口和一系列让我摸不着头脑的实现。

Java是否有Queue的实现是一个FIFO数据结构,没有多余的功能?我只需要enqueuedequeuefront操作,并且该数据结构应允许重复。

5个回答

8

队列 可以使用任何你喜欢的实现方式,例如 LinkedList 或者 ConcurrentLinkedQueue

enqueue = offer(..)
dequeue = poll()
front = peek()


3

该文档页面列出了实现接口的所有类。例如,您可以执行以下操作(免责声明:未经编译器测试):

Queue<E> q = new LinkedList<E>();

E x1 = new E();
E x2 = new E();
E x3;

q.offer(x1);
q.offer(x2);

x3 = q.poll();

1

你可以直接使用LinkedList。当然,它有很多你不需要的功能,但也不会对你造成任何伤害。


1

java.util.LinkedList类可能是您想要的,其方法包括“add”,“remove”和“element”。


0
你可能正在寻找的是双端队列。请参阅Deque接口及其实现类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接