Java ArrayList如何在开头添加元素

标签 java arrays arraylist stack

我需要将元素添加到 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/

相关文章:

c - 使用 3D 数组 - 无法进行输出

java - 将二维数组缩放两倍

android - 将数组列表从一个 Intent 传递到另一个 Intent

Java 日期方法?类? joptionpane/输出/显示数据库中数组列表中的对象?

c# - 将字符串数组排序为 Int

java - 需要帮忙! Spring 启动错误: Unsatisfied DependancyException: Error creating bean with name ''

java - 如何在泛型类型中抽象定义泛型类型?

java - 如何在android studio中的另一个 Activity 中使用一个 Activity 的变量

java - 父/子类关系 - indexOf

javascript - JS根据key值拼接数组值