本帖最后由 闲人 于 2014-4-4 13:19 编辑
- import java.util.*;
- public class CollectionsDemo
- {
- public static void main(String[] args)
- {
- sortDemo();
- }
- public static void sortDemo(){
- List<String> list = new ArrayList<String>();
- list.add("abcd");
- list.add("aaa");
- list.add("z");
- list.add("kkkk");
- list.add("qq");
- list.add("ss");
- list.add("z");
- sop(list);
- Collections.sort(list);//自然排序
- sop(list);
- //下面的那条好像不执行的样子
- Collections.sort(list,new StrLenComparator());//按长度排序
- sop(list);
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
- class StrLenComparator implements Comparator<String>
- {
- public int compare(String s1,String s2){
- if(s1.length()>s2.length())
- return 1;
- if(s2.length()<s2.length())
- return -1;
- return s1.compareTo(s2);
- }
- }
复制代码
执行结果是:
- [abcd, aaa, z, kkkk, qq, ss, z]
- [aaa, abcd, kkkk, qq, ss, z, z]
- [aaa, abcd, kkkk, qq, ss, z, z]
复制代码
问题:代码编译通过,但是就是不按照我编的方法进行排序,找了半天,找不出问题了,帮我看看,求指点 |
|