天天看點

深入了解自定義排序Comparator

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 當元素自身提供的比較規則不能滿足我們對于排序的需求時, 我們可以額外的提供一種比較規則。
 * 
 * @author huawangxin
 *
 */
public class ListDemo {
	public static void main(String[] args) {
		List
   
     list = new ArrayList
    
     ();
		list.add("範傳奇");
		list.add("馬雲");
		list.add("李宏毅");
		list.add("巴神");
		list.add("金槍小帥");
		list.add("奧巴馬");
		list.add("趙雲");
		System.out.println(list);
		MyComparator com=new MyComparator();
		/*
		 * 但元素自身提供的比較規則不能滿足排序條件
		 * 我們可以提供額外的比較規則
		 */
//		Collections.sort(list);
		Collections.sort(list,com);
		System.out.println(list);
	}
}
class MyComparator implements Comparator
     
       {
	@Override
	public int compare(String o1, String o2) {
		// 哪個字元串的字元串多哪個字元串大
		return o1.length() - o2.length();
	}
}
     
    
   
           

上述如果有不對或者補充的地方,請大家批評和指教,謝謝。