缓存最后50个事件值并计算最大值

时间:2016-11-29 01:28:49

标签: java core

我正在尝试为我的大学项目实施一个程序,我必须缓存最新的50个事件并计算从事件中检索的字段的最大值。

我不确定需要使用哪些数据结构来维护严格允许最后50个值的列表,并在第51个值到达时删除第一个值。

我们是否有一个已经为此提供支持的Collections类?

我以前有LinkedHashMap的removeEldestEntry()函数,但它不符合这里的要求。

1 个答案:

答案 0 :(得分:1)

我认为您可以保持限制,而不会在堆栈中包含超过50个元素,您只需要先检查大小并删除最旧的条目,然后再添加新条目。我不确定问题的效率或确切性质,而是一个想法...

select x, y
from a
where x > (select min(x) + 0.1 from a);

希望有所帮助,或至少给你一个想法。 :)