谁知道在添加新项目之前有限制和能力删除旧项目的集合,如果达到限制?
旧的条目,放在开头。
答案 0 :(得分:1)
您应该使用Apache Commons Collections中的org.apache.commons.collections4.queue.CircularFifoQueue
及其构造函数CircularFifoQueue(final int size)
。
CircularFifoQueue是一个先进先出队列,具有固定大小,如果已满,则替换其最旧的元素。 CircularFifoQueue的删除顺序基于插入顺序;元素的删除顺序与添加元素的顺序相同。迭代顺序与删除顺序相同。
示例:
class Test {
public static void main(String[] args) {
Queue<Integer> numbers = new CircularFifoQueue<>(2);
for (int i = 0; i < 4; i++) {
numbers.add(i);
System.out.println("Iteration#" + i + " : " + numbers);
}
}
}
// Output:
// Iteration#0 : [0]
// Iteration#1 : [0, 1]
// Iteration#2 : [1, 2]
// Iteration#3 : [2, 3]