golfhorsepowercomparator

golfhorsepowercomparator

我试图找到一种方法来定义一个可用于升序和降序目的的独特的java.util.Comparator实现。
我定义了一个代表大众汽车的类我还定义了一个比较器,该比较器按马力(Golf.java变量)排序Golf实例我想知道是否可以使用相同的比较器来进行升序和降序。
golfhorsepowercomparator.java

package test2.comparator;

import test2.dto.Golf;
import java.util.Comparator;

public class GolfHorsePowerComparator implements Comparator<Golf> {

    @Override
    public int compare(Golf a, Golf b) {
        return a.getHorsePower() > b.getHorsePower() ? 1 : a.getHorsePower() == b.getHorsePower() ? 0 : -1;
    }

}

给定int的列表,如何使用相同的Golf实现对它们进行升序或降序排序?

最佳答案

您可以使用Collections::reverseOrder按描述顺序排序如:

GolfHorsePowerComparator golfHorsePowerComparator = new GolfHorsePowerComparator();
Collections.sort(golfList, Collections.reverseOrder(golfHorsePowerComparator));

09-07 07:53