在Java
中,当使用有限的资源时,队列在添加新元素时会重新删除最旧元素。但是,手动实现此操作可能很麻烦。
apache commons collections 4提供了一个方便的解决方案,该解决方案具有其圆形fififoquequequequequequequeue 。根据其文档:
CircularFifoqueue是一个首次排出队列,其固定大小,如果已满,则替代其最古老的元素。
使用此类很简单。
圆形Fifoqueue Queue =新的圆形Fifoqueue (2);
Queue.Add(1);
Queue.Add(2);
Queue.Add(3);
system.out.println(queue); // [2,3]
在添加3时如何删除最旧的元素(1),尽管队列的最大尺寸为2。