import java.util.*; /** 练习:按照字符串长度排序 字符本身具备比较性,但是现在以字符的长度作为比较项 */ class TreeSetTest{ public static void main(String[]args){ TreeSet ts = new TreeSet(new MyComparator()); ts.add("abc"); ts.add("c"); ts.add("da"); ts.add("adsfc"); ts.add("sdaw"); ts.add("amk2"); //迭代器取出 Iterator it = ts.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } } //自定义比较器,继承Comparator()接口 class MyComparator implements Comparator{ public int compare(Object o1,Object o2){ String s1 = (String)o1; String s2 = (String)o2; int num = s1.length() - s2.length(); //判断字符串长度相同时,根据字典顺序排 if(num == 0){ return s1.compareTo(s2); } else return num; } }
本文出自 “司马囧” 博客,转载请与作者联系!
原文:http://9274590.blog.51cto.com/9264590/1701581