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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫运飞 中级黑马   /  2012-4-8 17:36  /  1788 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;

class Collections
{
        public static void main(String[] args)
{
                sort();

}
public static void sort()
{
        List<String> List=new ArrayList<String>();
       
        list.add("aaaa");
        list.add("fff");
        list.add("hhh");
        list.add("uuuuu");
        list.add("mmm");

        sop(list);

        collections.sort(list,new Compare01());//为什么比较器会传到这里来呢??
                                                //其他的容器用到比较器时都是传到容器里的。
                                                //例如:TreeSet<String> ts=new TreeSet<String>(new Compare01());
        sop(list);
}

public static void sop(Object obj)
{
System.out.println(obj);

}

}


//这个比较器不是这个程序的,拿过来做个参照。

class Compare01 implements Comparator<String>

{
        public int compare(String a,String b)

{

        //String x=(String)a;
        //String y=(String)b;



        if(a.length()>b.length())
                return 1;


        if(a.length()==b.length())
                return 0;

                return -1;
}}





评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

3 个回复

倒序浏览
有的集合是带排序的,比如TreeSet,LinkedArrayList,有的没有排序,你想对集合从新排序必须使用带排序的集合,而且集合中的对象必须实现Comparable接口并重写 compare()方法,ArrayList是不带排序的!

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

回复 使用道具 举报
一句话,Collections 是操作集合的工具类。
你的类名不能这样取名的。
API:
static <T> void  sort(List<T> list, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定列表进行排序。

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

回复 使用道具 举报
留个脚印```````
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马