有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数组操作,在末尾添加元素,将其他元素向后推

我计划做一个小程序,显示一个每秒更新几次的图表(可能是100/200ms左右)。其目的是在图形中绘制1000多个不同的值,有点像XY图

当数组包含1000个元素时,我想在末尾添加一个新元素,在这个过程中,将所有其他元素向后推一步。本质上,999元素会变成998,998元素会变成997。。。一直到第一个元素,它会被简单地扔掉。有没有人有这样做的例子或好的算法,用正则数组、向量、LinkedList或任何其他方法

我的第一个想法是创建一个新的数组,并将我想要保留的元素复制到新数组中,比如扔掉前100个元素。此时,我会在数组末尾添加新的100个元素,并不断重复这个过程,但肯定有更好的方法吗


共 (1) 个答案

  1. # 1 楼答案

    你所问的在算法界被称为deque,即双端向量

    这就是你需要的class

    deque基本上支持在序列的开头和结尾添加和删除元素

    编辑实际上,在阅读文档时,我惊讶地发现deque的sdk实现不支持直接索引(我习惯于在C++中使用这种结构)。所以我继续搜索,找到了this answer,链接到this library,,这可能对你有帮助