什么是Java相当于C ++的STL队列?

时间:2010-11-13 13:33:46

标签: java data-structures collections queue

我正在浏览Java docs以寻找C ++的STL Queue的Java等价物,但我找到的只是一个名为Queue的接口和一堆我不能实现的接口做头或尾。

Java是否有Queue的实现,它只是一个FIFO数据结构而没有增加花里胡哨?我只需要enqueuedequeuefront操作,数据结构应该允许重复。

5 个答案:

答案 0 :(得分:7)

Queue会奏效。使用您喜欢的任何实现。例如LinkedListConcurrentLinkedQueue

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

答案 1 :(得分:3)

该docs页面列出了实现该接口的所有类。因此,举例来说,您可以执行以下操作(免责声明:尚未接近编译器):

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();

答案 2 :(得分:1)

您可以使用LinkedList。当然,它有许多你不需要的功能,但它也不会对你造成伤害。

答案 3 :(得分:1)

java.util.LinkedList类可能就是你想要的,方法是“添加”,“删除”和“元素”。

答案 4 :(得分:0)

你可能正在寻找的是一个双端队列。请参阅Deque界面,它正在实现类。