【问题标题】:Java PriorityQueue ComparatorJava PriorityQueue 比较器
【发布时间】:2013-07-21 18:24:03
【问题描述】:

假设我已经实现了一个 HashMap,其中的字符被分配了一个值的 ArrayList。

我已经在 HashMap 中创建了这些字符的 PriorityQueue,但我希望能够根据这个优先级删除这些字符:

{a, b, c}

{a, b} 删除 c,因为它在其 ArrayList 中包含一个值,该值确定必须首先删除它。

最好的方法是什么?

【问题讨论】:

  • 也许我可以使用普通队列并在实际将它们添加到队列之前确定它们的优先级?
  • 没关系,这对我没有帮助。
  • 您所面临的“确切”问题是什么??
  • 我不知道如何确定这个队列的比较器。我希望能够在我的示例中删除 c 值,因为它在它的 ArrayList 中包含某个值。但是,如果没有指定比较器,PriorityQueue 将根据元素的自然顺序删除元素。

标签: java hashmap queue priority-queue comparator


【解决方案1】:

您需要将键和值组合到一个对象中,并使用作用于这些新对象的比较器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-04
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多