Java 将数据添加到ArrayList并删除旧的
我有个小问题 例如,我有Java 将数据添加到ArrayList并删除旧的,java,android,arraylist,Java,Android,Arraylist,我有个小问题 例如,我有ArrayList ArrayList<Double> Temp1 = new ArrayList<>(); ArrayList Temp1=new ArrayList(); 当大小为5(0,1,2,3,4)时。我需要移动数据 新值出现时删除一个值。例如,当Temp1.add(5)时,我必须得到一个结果(1,2,3,4,5)。不使用循环是否可能 因为在我的应用程序中,我有非常大的ArrayList(1000-15000个元素),从连接的设备以每
ArrayList
ArrayList<Double> Temp1 = new ArrayList<>();
ArrayList Temp1=new ArrayList();
当大小为5(0,1,2,3,4)时。我需要移动数据
新值出现时删除一个值。例如,当Temp1.add(5)时,我必须得到一个结果(1,2,3,4,5)。不使用循环是否可能
因为在我的应用程序中,我有非常大的
ArrayList
(1000-15000个元素),从连接的设备以每秒5-10个项目填充。当我使用“for”循环检索我失去生产力的最后50个项目并每秒从设备接收1-2个项目时。您可以使用set
函数替换某些值。例如,您需要从Arraylist中删除1个项目,并将其更改为100,然后按如下方式执行
Temp1.set(1,100);
这里1是索引,100是值。正如@Nyavro在他的评论中提到的,您可以使用实现该接口的
链接列表。只需将新元素添加到尾部,然后弹出头部
List<Double> temp1 = new LinkedList<>();
temp1.add(5);
temp1.removeFirst();
List temp1=newlinkedlist();
1.加入(5);
temp1.removeFirst();
是否始终要删除第一个元素,对吗。然后您可以尝试此操作,
如果要添加新值,请首先使用
Temp1.remove(0);
从中,以下是您可以使用的数据结构列表:
- 十五
- 在
您可以切换到LinkedList吗?您可以使用以下功能进行替换:list.set(您的\u索引、您的\u项目);尺寸固定吗?如果是这样,您可以使用固定大小的数组和start
和end
索引来实现循环数组。它将比LinkedList(如果大小固定)更有效。瞧,@Nyavro,谢谢。我以前没用过。我试试看!