我需要将元素添加到ArrayList队列中,但是当我调用函数添加元素时,我希望它在数组的开头添加元素(因此它具有最低的索引),并且如果数组有10个元素添加一个新的结果将删除最旧的元素(具有最高索引的元素)。
ArrayList
有没有人有什么建议?
List具有方法add(int, E),因此您可以使用:
List
add(int, E)
list.add(0, yourObject);
之后,您可以使用以下命令删除最后一个元素:
if(list.size() > 10) list.remove(list.size() - 1);
但是,您可能需要重新考虑您的要求或使用其他数据结构,例如 Queue
Queue
编辑
也许看看Apache的CircularFifoQueue:
CircularFifoQueue
CircularFifoQueue 是具有固定大小的先进先出队列,如果已满则将替换其最早的元素。
只需使用您的最大大小对其进行初始化:
CircularFifoQueue queue = new CircularFifoQueue(10);