我知道标题并没有真正说明我真正要寻找的内容,因为很难用几句话来解释。

我正在寻找的是Java的链表列表变体,我可以对其进行迭代,但是在某种程度上它具有固定长度。

您会看到,我想用从遥测插件获得的数据来跟踪Kerbal Space Program中模拟卫星的地面路径。但我只想显示最近两个小时的地面路径。现在,所有数据将被写入链表,但是随着时间的流逝,链表变得越来越长,最终变得如此之大,以至于遍历该列表以获取轨道最后两个小时的数据所需的时间更长,然后它需要一组新的数据。

因此,如果最老条目与最新条目之间的时间超过了两个小时的任务时间,则我要查找的“链表”变体的长度会有所固定,它将删除最后一个条目(条目)。这样一来,我只需要遍历相对较少的条目,而不必遍历上一个排期的整个数据集(保存该数据集即可将其更改为CSV)。

我感谢这里附近的乐于助人的人所提供的任何帮助。

最佳答案

只需维护一个定期修剪LinkedList末尾的线程即可。您不需要任何特殊的东西。任何Queue实现都可能有效; ArrayDeque可能是最好的。

或用包装器LinkedList实现装饰Queue,该实现会丢弃太旧的元素。

10-07 12:44
查看更多