Heim > Java > javaLernprogramm > Wie implementiert man eine Warteschlange mit begrenzter Größe in Java?

Wie implementiert man eine Warteschlange mit begrenzter Größe in Java?

Barbara Streisand
Freigeben: 2024-12-01 18:03:11
Original
258 Leute haben es durchsucht

How to Implement a Size-Limited Queue in Java?

So implementieren Sie eine Warteschlange mit begrenzter Größe in Java

In Java ist dies bei einer Standardimplementierung für eine Warteschlange mit einer festen maximalen Größe nicht der Fall existieren. Die manuelle Implementierung ist jedoch unkompliziert:

import java.util.LinkedList;

public class LimitedQueue<E> extends LinkedList<E> {
    private int limit;

    public LimitedQueue(int limit) {
        this.limit = limit;
    }

    @Override
    public boolean add(E o) {
        super.add(o);
        while (size() > limit) {
            super.remove();
        }
        return true;
    }
}
Nach dem Login kopieren

Apache Commons Collections Solution

Alternativ stellt Apache Commons Collections 4 eine CircularFifoQueue-Klasse bereit, die die Anforderungen erfüllt:

    import java.util.Queue;
    import org.apache.commons.collections4.queue.CircularFifoQueue;

    Queue<Integer> fifo = new CircularFifoQueue<>(2);
    fifo.add(1);
    fifo.add(2);
    fifo.add(3);
    System.out.println(fifo); // [2, 3]
Nach dem Login kopieren

Für Apache Commons Collections 3.x verwenden Sie CircularFifoBuffer.

Das obige ist der detaillierte Inhalt vonWie implementiert man eine Warteschlange mit begrenzter Größe in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage