两种排序
Comparable与Comparator接口
Comparable(内部)一般让类去实现,然后重写compareTo方法
public class Human implements Comparable<Human>
---------------
public int compareTo(Human o) {
return this.englishName.compareTo(o.englishName);
}
Comparator(外部)重新定义一个排序类去实现它,重写compare方法
Collections.sort(list, new Comparator<Human>() {
@Override
public int compare(Human o1, Human o2) {
return o1.getEnglishName().compareTo(o2.getEnglishName());
}
});
TreeSet添加值后打印出来的值是排序过的,String和Integer都实现了Comparable接口,故是按照他们重写的compareTo方法内的规则排序
list集合若需要排序则要调用工具类Collections的sort方法,将需要排序的list传进去
Collections.sort(list);
sort方法的第二个参数可传入一个自定义的排序规则,即实现Comparator接口的类的对象(见上面代码块Comparator接口的使用)