A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 帅气的冬瓜 中级黑马   /  2013-11-6 23:00  /  955 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 帅气的冬瓜 于 2013-11-7 19:35 编辑

import java.util.*;
class  CollectionsDemo
{
        public static void main(String[] args)
        {
                binarySerchDemo();
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }

   public static void binarySerchDemo()        {
                List<String> list=new ArrayList<String>();
                           //TreeSet<String> list=new TreeSet<String>(Collections.reverseOrder(new StrLenComparator()));      1、这句可以代替上一句                                                   
                                                                                       进行强制逆转,List<String> list=new ArrayList<String>(Collections.reverseOrder(new                                                                                                                                               
                                                                                        StrLenComparator())) ;这样为什么不可以呢?   
                list.add("abcd");
                list.add("aaa");
                list.add("kkkkk");                                             
                list.add("z");
                list.add("ssss");
                list.add("ww");
                list.add("qq");
                list.add("eer");
                Collections.sort(list);
                sop(list);        
                       //Collections.reverseOrder(new StrLenComparator());     2、这句加上也没有报错,可是没有作用?为什么?
                sop(list);
                                                                                                                   3、Collections.reverseOrder:在什么范围内使用?
        }
}
class StrLenComparator implements Comparator<String>
{
        public int compare(String s1,String s2)
        {
                if (s1.length()>s2.length())
                        return 1;
                if (s1.length()<s2.length())
                        return -1;
                return s1.compareTo(s2);
        }
}


2 个回复

倒序浏览
To 金牌黑马 2013-11-7 00:31:44
沙发
具体你的问题哦童鞋
回复 使用道具 举报
1,你的代码很乱,不知道你要说什么。
2,Collections.reverseOrder() 返回的是一个比较器,单独写一句代码没用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马