import java.util.*;
/*对字符串进行长度排序,使用treeset
思路:
字符串都是对象,可以先存储到集合中
还要对字符串进行排序,所以选择带排序的集合treeset
字符串本身具备自然排序,是按照字典顺序
但是和所需要求不符,这时就只能使用比较器进行排序*/
public class TreeSetTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeSet ts=new TreeSet(new CompareByLength());
ts.add("abc");
ts.add("z");
ts.add("nba");
ts.add("ko");
ts.add("cccccccc");
ts.add("aa");
Iterator it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class CompareByLength implements Comparator
{
public int compare(Object o1,Object o2)
{
String str1=(String)o1;
String str2=(String)o2;
int num=str1.length()-str2.length();
//int num=new Integer(str1.length()).compareTo(new Integer(str2.length()));
return num==0?str1.compareTo(str2):num;
}
}
run as:
z
aa
ko
abc
nba
cccccccc
转载于:https://blog.51cto.com/asalinux/645766