import java.util.*;
/*对字符串进行长度排序,使用treeset 思路: 字符串都是对象,可以先存储到集合中 还要对字符串进行排序,所以选择带排序的集合treeset 字符串本身具备自然排序,是按照字典顺序 但是和所需要求不符,这时就只能使用比较器进行排序*/ public class TreeSetTest {/**
* @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TreeSet ts=new TreeSet(new CompareByLength()); ts.add("abc"); ts.add("z"); ts.add("nba"); ts.add("ko"); ts.add("cccccccc"); ts.add("aa"); Iterator it=ts.iterator(); while(it.hasNext()) { System.out.println(it.next()); }}
}
class CompareByLength implements Comparator { public int compare(Object o1,Object o2) { String str1=(String)o1; String str2=(String)o2; int num=str1.length()-str2.length(); //int num=new Integer(str1.length()).compareTo(new Integer(str2.length())); return num==0?str1.compareTo(str2):num; } }run as:
z
aa ko abc nba cccccccc