J'ai besoin d'utiliser une structure FIFO dans mon application. Il doit avoir au plus 5 éléments. Je voudrais avoir quelque chose de facile à utiliser (je ne me soucie pas de la simultanéité) qui implémente l'interface de collection.Quelle implémentation de file d'attente utiliser en Java?
J'ai essayé le LinkedList, qui semble provenir de la file d'attente, mais il ne semble pas me permettre de définir sa capacité maximale. Il me semble que je veux juste au maximum 5 éléments mais j'essaie d'en ajouter 20, ça va juste continuer à augmenter en taille pour l'adapter. Je voudrais quelque chose qui travaillerait de la façon suivante:
XQueue<Integer> queue = new XQueue<Integer>(5); //where 5 is the maximum number of elements I want in my queue.
for (int i = 0; i < 10; ++i) {
queue.offer(i);
}
for (int i = 0; i < 5; ++i) {
System.out.println(queue.poll());
}
Ce serait imprimé:
5
6
7
8
9
Merci
Pourquoi faut-il imprimer 5 , 6, ..? pourquoi pas 0,1,2,3,4? l'offre semble suggérer qu'il échouerait quand la capacité maximale est atteinte – mkorpela
Techniquement, je suis réellement intéressé par ce genre de file d'attente, en ignorant généralement les données/tâches (* c'est-à-dire les laisser tomber pour des raisons banales *) ce n'est pas une bonne chose. À part ça, cela ressemble à quelque chose que j'aimerais essayer de coder pour voir si je peux en faire un. – Esko
Il semble que l'intérêt est de garder une trace du top 5 des éléments "récemment utilisés". Puisque vous ne vous souciez que des récents, vous devez vous débarrasser des plus âgés. – rmarimon