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?
Ouais. file d'attente
LinkedList étant l'implémentation concrète la plus triviale.
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
}
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.
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.