重写compare接口

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)调用方法,加入比较规则

猜你喜欢

转载自blog.csdn.net/wyqwilliam/article/details/91899681
今日推荐