/*
按照字符串的长度排序。
字符串本身具备比较性,但是它的比较方式不是所需要的。
这时就只能使用比较器。
*/
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
{
@Override
public 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;
}
}
结果: