Java-按照字符串长度排序

/*
 * 练习:按照字符串长度排序
 *
 * 字符串本身具备比较性。但是它的比较方式不是所需要的
 *
 * 这时就只能使用比较器
 */

public class TreeSetTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        TreeSet ts = new TreeSet(new StringComparator());
        
        ts.add("abcd");
        ts.add("ab");
        ts.add("abcdef");
        ts.add("abce");
        ts.add("abcdefg");
        
        Iterator it = ts.iterator();
        
        while(it.hasNext()) {
            System.out.println(it.next());
        }

    }

}

class StringComparator implements Comparator{
    public int compare(Object o1,Object o2) {
        String s1 = (String)o1;
        String s2 = (String)o2;
        
//        if(s1.length()>s2.length()) {
//            return 1;
//        }
//        if(s1.length()==s2.length()) {
//            return 0;
//        }
        int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
        
        if(num==0) {
            return s1.compareTo(s2);
        }
        return num;
    }
}

你可能感兴趣的:(Java-按照字符串长度排序)