我需要将元素添加到 ArrayList
队列中,但是当我调用该函数来添加元素时,我希望它将元素添加到数组的开头(因此它具有最低索引),如果数组有 10 个元素,则添加新元素会导致删除最旧的元素(索引最高的元素)。
有人有什么建议吗?
最佳答案
List
具有方法 add(int, E)
,所以你可以使用:
list.add(0, yourObject);
之后您可以使用以下方法删除最后一个元素:
if(list.size() > 10)
list.remove(list.size() - 1);
但是,您可能需要重新考虑您的需求或使用不同的数据结构,例如 Queue
编辑
也许看看 Apache 的 CircularFifoQueue
:
CircularFifoQueue
is a first-in first-out queue with a fixed size that replaces its oldest element if full.
只需用最大大小初始化它:
CircularFifoQueue queue = new CircularFifoQueue(10);
关于Java ArrayList如何在开头添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57724106/