TreeSet按照字符串的长度排序(用比较器)

来源:互联网 发布:mac itunes 资料库 编辑:程序博客网 时间:2024/06/09 20:33
/* 按照字符串的长度排序。 字符串本身具备比较性,但是它的比较方式不是所需要的。 这时就只能使用比较器。 */import java.util.Comparator;import java.util.Iterator;import java.util.TreeSet;public class TreeSetExercise {public static void main(String[] args) {TreeSet ts=new TreeSet(new StringLengthComparator());ts.add("asdv");ts.add("asdwqd");ts.add("asda");ts.add("as");ts.add("asdqwwqdq");ts.add("asdasdsadasdas");Iterator it=ts.iterator();System.out.println("按照字符串长度排序的结果为:");while(it.hasNext()){System.out.println(it.next());}}}//定义比较器class StringLengthComparator implements Comparator{@Overridepublic int compare(Object o1, Object o2) {// TODO 自动生成的方法存根String s1=(String)o1;String s2=(String)o2;int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));if(num==0){return s1.compareTo(s2);}return num;}}


结果:


4 0