首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java ArrayList如何在开头添加元素

Java ArrayList如何在开头添加元素
EN

Stack Overflow用户
提问于 2012-10-18 15:52:44
回答 10查看 364.3K关注 0票数 220

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

有人有什么建议吗?

EN

回答 10

Stack Overflow用户

发布于 2016-06-30 21:10:48

你可能想看看德克。它使您可以直接访问列表中的第一项和最后一项。

票数 6
EN

Stack Overflow用户

发布于 2012-10-18 16:23:14

我认为实现应该很简单,但是考虑到效率,你应该使用LinkedList而不是ArrayList作为容器。您可以参考以下代码:

代码语言:javascript
复制
import java.util.LinkedList;
import java.util.List;

public class DataContainer {

    private List<Integer> list;

    int length = 10;
    public void addDataToArrayList(int data){
        list.add(0, data);
        if(list.size()>10){
            list.remove(length);
        }
    }

    public static void main(String[] args) {
        DataContainer comp = new DataContainer();
        comp.list = new LinkedList<Integer>();

        int cycleCount = 100000000;

        for(int i = 0; i < cycleCount; i ++){
            comp.addDataToArrayList(i);
        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2017-02-14 14:18:15

Java提供了addFirst(E,e)和push(E,e)方法,可以将元素添加到列表的前面。

https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#addFirst(E)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12949690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档