Java - 保持重复插入顺序的 PriorityQueue 的替代方案
Java - Alternative to PriorityQueue that keeps duplicate insertion order
我遇到一个问题,我需要一个数据结构让我按排序顺序存储一堆订单对象(具有价格和数量),以便我可以轻松地检索价格最低的那个。我需要的唯一操作是 'insert' 和 'retrieve smallest' 这使得优先队列看起来是一个不错的选择,但问题是我还需要跟踪重复项的插入顺序以便它始终是首先插入的重复项首先被检索到。在这种情况下,重复只是具有相同价格的订单。
Java PriorityQueue
class 似乎没有对重复项的检索顺序做出任何承诺,因此我需要一些其他选择。你们会推荐什么?
可以添加字段或者用原子计数器包裹元素and/or时间戳来记录原始订单。
我遇到一个问题,我需要一个数据结构让我按排序顺序存储一堆订单对象(具有价格和数量),以便我可以轻松地检索价格最低的那个。我需要的唯一操作是 'insert' 和 'retrieve smallest' 这使得优先队列看起来是一个不错的选择,但问题是我还需要跟踪重复项的插入顺序以便它始终是首先插入的重复项首先被检索到。在这种情况下,重复只是具有相同价格的订单。
Java PriorityQueue
class 似乎没有对重复项的检索顺序做出任何承诺,因此我需要一些其他选择。你们会推荐什么?
可以添加字段或者用原子计数器包裹元素and/or时间戳来记录原始订单。