有人可以提供使用比较器在Java中对数组进行排序的示例和输出吗?
我知道我需要使用public static void sort(List list, Comparator c);,但是比较器如何更改排序顺序?

最佳答案

通常,您只需实现Comparable并将列表传递给sort()方法即可。但是,如果您需要使用Comparator代替,请参见以下完整示例:

public static void main(String args[]) {
   List<ExampleItem> examples = new LinkedList<ExampleItem>();
   //Build List
   Collections.sort(examples, new ExampleCompartor());//Sort with your comparator
}

//Custom Class to sort
class ExampleItem{
    private int data;
}

//Compartor
static class ExampleCompartor implements Comparator<ExampleItem>{
    @Override
    public int compare(ExampleItem ex1, ExampleItem ex2) {
        return ex1.data - ex2.data;
    }
}

10-04 10:04