有人可以提供使用比较器在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;
}
}