(69)TreeSet练习:按照长度为主关键字,自然顺序为次关键字排序

需求:按照字符串的长度排序。
分析:字符串本身具备比较性,但是它的比较方式不是所需要的,所以要用比较器

主关键字为长度,次关键字为字符串自然顺序

import java.util.*;


public class StringCompare implements Comparator{

    public int compare(Object o1,Object o2) {

        String str1=(String)o1;
        String str2=(String)o2;
        int num=str1.length()-str2.length();//主关键字
        if(num==0) {
            return str1.compareTo(str2);//次关键字
        }
        return num;
    }
}


public class StringDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TreeSet ts=new TreeSet(new StringCompare());

        ts.add("lisi00");
        ts.add("lisi001");
        ts.add("lisi02");
        ts.add("lisi0");
        ts.add("lisi04");

        Iterator it=ts.iterator();
        while(it.hasNext()) {
            Object obj=it.next();
            String str=(String)obj;
            System.out.println(str);

        }
    }

}
posted @ 2017-07-17 10:53  测试开发分享站  阅读(121)  评论(0编辑  收藏  举报