Collectionsクラスでのソート方法

1211 ワード

import java.util.*;

/*     
	List       Collections.sort()  
	           Collections.reverseOrder()  ,            
*/
class StrLenComp implements Comparator
{
	public int compare(String o1,String o2)
	{
		return o1.length()==o2.length()? o1.compareTo(o2):o1.length()-o2.length();
	}
}
class CollectionDemo
{
	public static void main(String[] args) 
	{
	 	SortDemo();
		ReverseDemo();
	}
	public static void ReverseDemo()
	{
		List ls = new ArrayList();
		ls.add("yo");
		ls.add("a");
		ls.add("you");
		ls.add("ada");
		System.out.println(ls);
		Collections.sort(ls,Collections.reverseOrder());//    
		System.out.println(ls);
		Collections.sort(ls,Collections.reverseOrder(new StrLenComp()));	//          
		System.out.println(ls);
	}
	public static void SortDemo()
	{
		List ls = new ArrayList();
		ls.add("you");
		ls.add("a");
		ls.add("you");
		ls.add("ada");
		System.out.println(ls);
		Collections.sort(ls);		//        
		System.out.println(ls);
		Collections.sort(ls,new StrLenComp());	//        
		System.out.println(ls);
	}
}