在 Java 中实现大小受限的队列
开发人员经常遇到需要一个在不断添加元素的同时保持固定大小的数据结构。在 Java 中,实现大小受限的队列很简单,但需要手动编码。然而,外部库中存在替代方案。
Apache Commons Collections 4 引入了 CircularFifoQueue 类,它与所需的功能保持一致:
“CircularFifoQueue 是先进先出的-out 具有固定大小的队列,如果满足以下条件,则替换其最旧的元素full."
泛型的用法示例:
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]
非泛型的用法示例(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]
利用这些现成的类可以简化实现Java 中限制大小的队列,同时确保效率并防止代码重复。
以上是如何用Java实现固定大小的队列?的详细内容。更多信息请关注PHP中文网其他相关文章!