1. 程式人生 > >java Comparable與Comparator介面的區別

java Comparable與Comparator介面的區別

public class MyTest {

	public static strictfp void main(String[] args) {
		
		String[] arr = {"bbbb","aaa","cc"};
		
		/*
		 * 利用String預設的排序
		 * String實現Comparable介面,實現其compareTo方法
		 */
		Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));
		
		/*
		 * 如果想實現String按照長度排序,則需要定義個類實現Comparator介面,
		 * 實現其compare方法
		 */
		Arrays.sort(arr, new LengComparator());
		System.out.println(Arrays.toString(arr));
	}
}


class LengComparator implements Comparator<String>{

	@Override
	public int compare(String o1, String o2) {
		return o1.length()-o2.length();
	}
	
}

執行如上程式碼,結果如下