Maison >Java >javaDidacticiel >Comment implémenter une file d'attente de taille fixe en Java ?

Comment implémenter une file d'attente de taille fixe en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 09:54:11281parcourir

How to Implement a Fixed-Size Queue in Java?

Implémentation d'une file d'attente de taille limitée en Java

Les développeurs rencontrent souvent le besoin d'une structure de données qui maintient une taille fixe tout en ajoutant continuellement des éléments . En Java, l'implémentation d'une file d'attente de taille limitée est simple mais nécessite un codage manuel. Cependant, des alternatives existent au sein de bibliothèques externes.

Apache Commons Collections 4 introduit la classe CircularFifoQueue, qui s'aligne sur la fonctionnalité souhaitée :

"CircularFifoQueue est un premier entré, premier -file d'attente de sortie avec une taille fixe qui remplace son élément le plus ancien si complet."

Exemple d'utilisation avec des génériques :

import org.apache.commons.collections4.queue.CircularFifoQueue;

// Create a queue with a limit of 2 elements
CircularFifoQueue<Integer> fifo = new CircularFifoQueue<>(2);

// Add elements
fifo.add(1);
fifo.add(2);

// Add a third element (replaces oldest element, in this case 1)
fifo.add(3);

// Print the queue
System.out.println(fifo); // Output: [2, 3]

Exemple d'utilisation avec des non-génériques (Apache Commons Collections 3) :

import org.apache.commons.collections.buffer.CircularFifoBuffer;

// Create a queue with a limit of 2 elements
CircularFifoBuffer fifo = new CircularFifoBuffer(2);

// Add elements
fifo.add(1);
fifo.add(2);

// Add a third element (replaces oldest element, in this case 1)
fifo.add(3);

// Print the queue
System.out.println(fifo); // Output: [2, 3]

L'utilisation de ces classes prêtes à l'emploi simplifie la mise en œuvre de files d'attente de taille limitée en Java tout en garantissant l'efficacité et empêcher la duplication de code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn