首页 >Java >java教程 >如何在Java中实现大小受限的队列?

如何在Java中实现大小受限的队列?

Barbara Streisand
Barbara Streisand原创
2024-12-01 18:03:11187浏览

How to Implement a Size-Limited Queue in Java?

如何在 Java 中实现大小受限的队列

在 Java 中,具有固定最大大小的队列的标准实现并不存在。然而,手动实现它很简单:

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;
    }
}

Apache Commons Collections 解决方案

或者,Apache Commons Collections 4 提供了一个满足要求的 CircularFifoQueue 类:

    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]

对于 Apache Commons Collections 3.x,请使用CircularFifoBuffer。

以上是如何在Java中实现大小受限的队列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn