字符串按照长度排序
字符串本身具备比较性,但是它的比较方式不是所需要的,这时就只能使用比较器。
代码:
import java.util.*;
public class code
{
public static void main(String[] args) {
TreeSet ts = new TreeSet(new StrLen());
ts.add("abcde");
ts.add("abcd");
ts.add("a");
ts.add("abc");
ts.add("aaa");
Iterator it = ts.iterator();
while(it.hasNext()) {
String s = (String)it.next();
sop(s);
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
class StrLen implements Comparator
{
public int compare(Object o1,Object o2) {
String s1 = (String)o1;
String s2 = (String)o2;
//主要条件
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
//num的值是整数,不一定是1。
//副要条件
if(num == 0) {
return s1.compareTo(s2);
}
return num;
}
}