重写comparator接口
一般情况下,如果想对一个数组中的数据进行排序,数组中是int类型的数据的话,是比较简单的,直接使用Arrays.sort()方法就可以了,但是,如果想通过比较其他类型的数据,比如比较字符串的长度或是自己定义的类型,原本的sort方法就不能够满足了,这时我们就可以重写comparator接口方法。
以比较字符串数据长度为例:
//定义一个LengthComparator类继承Comparator接口
Class LengthComparator implement Comparator{
public int compare(String first, String second){
return first.length()-second.length();
}
}
//假设arraylist为String类型数组
Arrays.sort(arraylist, new LengthComparator);
//这样就可以通过数组长度对数组进行排序
//或者也可以使用Lambda表达式,比较直观且不需要新建类
Arrays.sort(arraylist, (first,second)->{first.length()-second.length()});