package collection.set;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
/**
* 复写Comparator接口中的compare()方法
* @author wjw
*
*/
public class TreeSet_String {
public static void main(String[] args) {
TreeSet ts=new TreeSet(new MyComparator_String());//这里可以直接写成内部类的形式
ts.add("fjda");
ts.add("fjfdsadksa");
ts.add("fsa");
ts.add("fsd");
ts.add("fjddfdksa");
ts.add("fjfdfad");
Iterator iter=ts.iterator();
while(iter.hasNext()){
String str=(String)iter.next();
System.out.println(str);
}
}
}
class MyComparator_String implements Comparator{
public int compare(Object a, Object b) {
if(!(a instanceof String)|| !(b instanceof String)){
return -1;
}
String al=(String)a;
String bl=(String)b;
int num=new Integer(al.length()).compareTo(new Integer(bl.length()));
if(0==num){
return al.compareTo(bl);//如果字符串长度相同,再按照字符串排序
}
return num;
}
}