我正在Java中实现对事件流的滑动窗口。因此,我需要一种数据结构,使我能够执行以下操作:
我目前使用ArrayList完成这个任务。但我希望有更高效的方法;
1.和2.是标准的队列操作。然而,JDK中
因此,我想知道是否有任何适用于商业用途的库具有这样的实现。
如果没有,我想我会写自己的...
- 当出现新事件时,在数据结构的末尾添加;
- 当旧事件被处理时,从数据结构的开头删除;
- 对数据结构的元素进行标准随机访问(
size()
,get(i)
),通常是List的“读”操作; - 对于上述所有操作都是有效率的;
- 没有大小限制。
我目前使用ArrayList完成这个任务。但我希望有更高效的方法;
remove(0)
方法(第2步)在ArrayList
中效率低下。1.和2.是标准的队列操作。然而,JDK中
Queue
的实现(如ArrayDeque)不允许在3.中使用get(i)
。因此,我想知道是否有任何适用于商业用途的库具有这样的实现。
如果没有,我想我会写自己的...