在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中文網其他相關文章!