1、重写的接口
package com.wyq.study;
import java.util.Comparator;;
public class ReOrder implements Comparator{
@Override
public int compare(Object o1, Object o2) {
String arr[] = new String []{};
String str1 = (String)o1;
String str2 = (String)o2;
// if(str1.length()>str2.length()){
// return 1;
// }else if(str1.length()<str2.length()){
// return -1;
// }else{
// return 0;
// }
return str2.length()-str1.length();
}
}
2、测试类
package com.wyq.study;
import java.util.Arrays;
import java.util.Comparator;
public class TestSort {
public static void main(String[] args) {
String arr [] = new String [] {"greatp","apple","peach","orange","banana"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
/**
* 目前是按照升序进行排序的,不想按照升序进行排序,而是想按照字母的长短进行排序
* 1、比较规则自己进行定义
* 2、定义一个类实现compatator的接口
* 3、实现接口中的方法,在方法中写比较规则
* 4、使用接口new实现类
*
*/
Comparator com = new ReOrder();
Arrays.sort(arr, com);
System.out.println(Arrays.toString(arr));
}
}
3、总结
1)自定义类,实现这个接口
2)实现接口中的方法
3)在方法中进行书写比较规则
4)调用多态,引入这个规则
5)调用方法,加入比较规则