web-dev-qa-db-fra.com

FIFO?

J'ai besoin d'une simple FIFO implémentée pour stocker un tas d'ints (cela ne me dérange pas beaucoup s'il s'agit d'une implémentation de génériques).

Tout ce qui a déjà été cuit pour moi dans Java.util ou bibliothèque Trove/Guava?

68
Rajat Gupta

Ouais. file d'attente

LinkedList étant l'implémentation concrète la plus triviale.

76
John B

Voici un exemple de code d'utilisation de la file d'attente FIFO) de Java:

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 est probablement la file d'attente basée sur les objets la plus rapide du JDK; Trove a l'interface TIntQueue, mais je ne sais pas où vivent ses implémentations.

13
Louis Wasserman

Queue est une interface qui étend Collection en Java. Il possède toutes les fonctions nécessaires pour prendre en charge l'architecture FIFO.

Pour une implémentation concrète, vous pouvez utiliser LinkedList. LinkedList implémente Deque qui à son tour implémente Queue. Tout cela fait partie de Java.util paquet.

Pour plus de détails sur la méthode avec l'exemple, vous pouvez vous référer à implémentation de la file d'attente FIFO en Java .

PS: Le lien ci-dessus mène à mon blog personnel qui contient des détails supplémentaires à ce sujet.

5
Aniket Thakur