我正在尝试为我的大学项目实施一个程序,我必须缓存最新的50个事件并计算从事件中检索的字段的最大值。
我不确定需要使用哪些数据结构来维护严格允许最后50个值的列表,并在第51个值到达时删除第一个值。
我们是否有一个已经为此提供支持的Collections类?
我以前有LinkedHashMap的removeEldestEntry()函数,但它不符合这里的要求。
答案 0 :(得分:1)
我认为您可以保持限制,而不会在堆栈中包含超过50个元素,您只需要先检查大小并删除最旧的条目,然后再添加新条目。我不确定问题的效率或确切性质,而是一个想法...
select x, y
from a
where x > (select min(x) + 0.1 from a);
希望有所帮助,或至少给你一个想法。 :)