public class Test1 {
public static void main(String[] args) {
TreeSet ts = new TreeSet(new myCom());
ts.add("a");
ts.add("b");
ts.add("abcd");
ts.add("abc");
Iterator it = ts.iterator();
while (it.hasNext()) {
sop(it.next());
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
// 自定义比较器
class myCom implements Comparator {
public int compare(String str1, String str2) {
int num = new Integer(str1.length()).compareTo(str2.length());
if (num == 0)
return s1.compareTo(s2);
return num;
}
}
打印结果就一个啊!问题出在哪啊? 作者: 曾小贤OL 时间: 2014-8-27 14:17
来大神帮帮忙解答下啊!!!作者: 何艳梅 时间: 2014-8-27 15:01
你的比较器的方法根本就没有重写Comparator的compare(),
把这一行class myCom implements Comparator {改成
class myCom implements Comparator<String> {就好啦。 作者: 曾小贤OL 时间: 2014-8-27 15:26