我需要向ArrayList
个队列添加元素,但当我调用函数添加元素时,我希望它将元素添加到数组的开头(因此它的索引最低),如果数组有10个元素,则添加新元素会导致删除最旧的元素(索引最高的元素).
有人有什么建议吗?
我需要向ArrayList
个队列添加元素,但当我调用函数添加元素时,我希望它将元素添加到数组的开头(因此它的索引最低),如果数组有10个元素,则添加新元素会导致删除最旧的元素(索引最高的元素).
有人有什么建议吗?
List
有方法add(int, E)
,所以你可以使用:
list.add(0, yourObject);
之后,您可以使用以下命令删除最后一个元素:
if(list.size() > 10)
list.remove(list.size() - 1);
但是,您可能希望重新考虑您的需求或使用不同的数据 struct ,如Queue
EDIT
或许可以看看apache 的CircularFifoQueue
条:
CircularFifoQueue
是具有固定大小的先进先出队列,如果已满则替换其最旧的元素.
只需使用最大大小初始化它:
CircularFifoQueue queue = new CircularFifoQueue(10);