Java - 保持重复插入顺序的PriorityQueue的替代方案

时间:2016-05-03 10:07:07

标签: java data-structures priority-queue

我有一个问题,我需要一个数据结构,让我按排序顺序存储一堆订单对象(有价格和数量),以便我可以轻松检索价格最低的那个。我需要的唯一操作是“插入”和“检索最小”,这使得优先级队列看起来是一个很好的选择,但问题是我还需要跟踪重复项的插入顺序,以便它始终是第一个插入的副本首先检索。重复只是在这种情况下具有相同价格的订单。

Java PriorityQueue类似乎没有对重复项的检索顺序作出任何承诺,因此我需要一些其他选择。你们会推荐什么?

1 个答案:

答案 0 :(得分:6)

您可以添加字段或使用原子计数器和/或时间戳包装元素以记录原始订单。