基于FIFO的队列实现?
我需要一个简单的FIFO实现队列来存储一堆整数(如果是generics实现,我不太介意)。
在java.util
或Trove / Guava库java.util
已经为我准备的东西了吗?
是啊。 队列
LinkedList是最微不足道的具体实现。
下面是使用java的内置FIFO队列的示例代码:
public static void main(String[] args) { Queue<Integer> myQ=new LinkedList<Integer>(); myQ.add(1); myQ.add(6); myQ.add(3); System.out.println(myQ); //1 6 3 int first=myQ.poll();// retrieve and remove the first element System.out.println(first);//1 System.out.println(myQ);//6 3 }
ArrayDeque
可能是JDK中速度最快的基于对象的队列; Trove有TIntQueue
接口,但我不知道它的实现在哪里。
Queue
是一个在Java中扩展Collection
的接口。 它具有支持FIFO
架构所需的全部function。
对于具体的实现,你可以使用LinkedList
。 LinkedList实现Deque
,然后实现Queue
。 所有这些都是java.util
包的一部分。
有关示例示例的方法的详细信息,可以参考Java中基于FIFO的队列实现 。
是的,这些东西是内置的Java。 这里只是一个例子。 有一个关于Java中的队列的谷歌search,这就是它。