练习:按照字符串长度排序
/*
字符串本身具备比较性。但是它的比较方式不是所必需的。
这时就只能使用比较器.
*/
import java.util.*;
class TreeSetTest
{
public static void main(String[] args)
{
TreeSet ts = new TreeSet(new StrLenCompare());
ts.add("abcd");
ts.add("cc");
ts.add("cba");
ts.add("aaa");
ts.add("z");
ts.add("hahah");
Iterator it = ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class StrLenCompare 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()));
if(num==0)
{
return s1.compareTo(s2);
}
return num;
}
}
结果:
z
cc
aaa
cba
abcd
hahah
本文介绍了一种使用Java实现的按照字符串长度进行排序的方法,并通过自定义比较器来确保当两个字符串长度相同时按字典顺序排列。代码示例展示了如何创建TreeSet并使用自定义的StrLenCompare类作为比较器。

2905

被折叠的 条评论
为什么被折叠?



