【发布时间】:2010-12-23 04:55:55
【问题描述】:
我正在计算大量可能的算法结果组合。为了对这些组合进行排序,我用双倍值对它们进行评分,并将它们存储在 PriorityQueue 中。目前,该队列中有大约 20 万个项目,这非常占用内存。实际上,我只需要说列表中所有项目中最好的 1000 个或 100 个。 所以我刚开始问自己是否有办法在 Java 中拥有一个固定大小的优先级队列。我应该这样做: 该项目是否比已存储的项目之一更好?如果是,则将其插入到相应的位置,然后将评分最低的元素扔掉。
有人有想法吗?再次非常感谢!
马可
【问题讨论】:
-
@Raedwald:嗯,这个问题是在你说它是重复的那个问题之前问了差不多两年。认为你可能把它弄错了。 ;-)
标签: java list size priority-queue