在日常写程序时,或做笔试题时总会遇到自己定义的类或者数据结构,如果把自己定义的类存入List这样的数组中,排序是很麻烦的,比如:
下面定义了一个Person类
class Person{
String name;
int age;
public Person(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
如果我们要对存了很多Person的数组排序的话,首先要确定排序规定,就是按什么排序,比如按照年龄大小,按照名字之类的,如果我们采用常规方法取值在排序然后交换位置时很麻烦的,好在List为我们提供了sort方法,下面是jdk文档
Parameters:
c - the Comparator used to compare list elements. A null value indicates that the elements’ natural ordering should be used
依旧是List的sort方法根据特定的Comparator排序。使用list.sort(c )的形式排序,c就是这个特定的Comparator对象。Comparator就是我们比较的准则。下