小编典典

Java ArrayList如何在开头添加元素

java

我需要将元素添加到ArrayList队列中,但是当我调用函数添加元素时,我希望它在数组的开头添加元素(因此它具有最低的索引),并且如果数组有10个元素添加一个新的结果将删除最旧的元素(具有最高索引的元素)。

有没有人有什么建议?


阅读 5658

收藏
2020-09-15

共1个答案

小编典典

List具有方法add(int, E),因此您可以使用:

list.add(0, yourObject);

之后,您可以使用以下命令删除最后一个元素:

if(list.size() > 10)
    list.remove(list.size() - 1);

但是,您可能需要重新考虑您的要求或使用其他数据结构,例如
Queue

编辑

也许看看Apache的CircularFifoQueue

CircularFifoQueue 是具有固定大小的先进先出队列,如果已满则将替换其最早的元素。

只需使用您的最大大小对其进行初始化:

CircularFifoQueue queue = new CircularFifoQueue(10);
2020-09-15