web-dev-qa-db-ja.com

FIFOベースのキュー実装?

多数のintを格納するための簡単なFIFO実装キューが必要です(ジェネリック実装であるかどうかはあまり気にしません)。

Java.utilまたはTrove/Guavaライブラリですでに焼かれたものはありますか?

68
Rajat Gupta

うん。 キュー

LinkedList は最も単純な具体的な実装です。

76
John B

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
}
53
DavidNg

ArrayDequeは、おそらくJDKで最も高速なオブジェクトベースのキューです。 TroveにはTIntQueueインターフェイスがありますが、その実装がどこにあるのかわかりません。

13
Louis Wasserman

Queueは、JavaでCollectionを拡張するインターフェースです。 FIFOアーキテクチャをサポートするために必要なすべての機能を備えています。

具体的な実装には、LinkedListを使用できます。 LinkedListはDequeを実装し、次にQueueを実装します。これらはすべてJava.utilパッケージの一部です。

サンプル例のメソッドの詳細については、 JavaでのFIFOベースのキュー実装 を参照してください。

PS:上記のリンクは、これに関する追加の詳細がある私の個人的なブログに行きます。

5
Aniket Thakur