(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);
}
}
}