【问题标题】:How to sort based on values of a key-value pair using a Priority-Queue如何使用优先队列根据键值对的值进行排序
【发布时间】:2021-10-07 01:04:16
【问题描述】:

我有一个基于键值对的值映射。 例如 [{1,2},{2,5},{3,4},{4,1}]

如何使用优先级队列根据值对它们进行排序?

需要的输出: [{4,1}->{1,2}->{3,4}->{2,5}]

【问题讨论】:

  • StackOverflow 不是用于编写代码的服务。请分享您尝试过的代码以及不起作用的代码

标签: java priority-queue


【解决方案1】:

您需要在添加到优先级队列的对象类中覆盖方法compareTo: 这是 Employee 类,有两个字段是 id 和salary。 我使用 id 作为键和薪水作为值。然后我会按价值(薪水)排序

@Override
public int compareTo(Employee employee) {
    if(this.getSalary() > employee.getSalary()) {
        return 1;
    } else if (this.getSalary() < employee.getSalary()) {
        return -1;
    } else {
        return 0;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    相关资源
    最近更新 更多