- import java.util.*;
- class TreeSetString {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TreeSet ts=new TreeSet(new Mycompare());
-
- ts.add("eweas");
- ts.add("rrqweqw");
- ts.add("fsdfs");
- ts.add("fds");
-
- Iterator it=ts.iterator();
-
- while(it.hasNext()){
- System.out.println(it.next());
- }
- }
- }
- class Mycompare implements Comparator{
- public int compare(Object o1, Object o2) {
- String str1=(String)o1;
- String str2=(String)o1;
- int num=new Integer(str1.length()).compareTo(new Integer(str2.length()));
- if(num==0)
- return str1.compareTo(str2);
- return num;
- }
- }
复制代码
为什么只能输出一个字符串"eweas",而不是输出它们按字符串长度排序后的全部呢~
把TreeSet ts=new TreeSet(new Mycompare());这里的传入的参数去掉后可以正常输出无序的全部字符串,是哪里出现问题了~代码跟视频全部一致,是不是JDK版本的问题~ |
|