class MyCompare implements Comparator//自定义比较方式 要实现Conparator的 compare 方法
{
    public int compare(Object o1,Object o2)//要比较的类型,这里要是(上帝类)
    {
  //
        int a=((Integer)o1).intValue();//Integer对象不能直接相比较  需要取得她的int值 来进行比较
        int b=((Integer)o2).intValue();
        if(a<b)return 1;     //从大到小排序
        if(a>b)return -1;
        return 0;
    }
}
 
public class SortList
{
 
    public  static void output(List list)
    {
        if(list==null)
            return ;
        for(int i=0;i<list.size();i++)
            System.out.print(list.get(i).toString()+"  ");
        System.out.println();
    }
    public static void main(String[] args)
    {
        // TODO 自动生成的方法存根
        List list=new ArrayList();
        for(int i=0;i<20;i++)
        list.add(new Integer(20-i));
        output(list);
        Collections.sort(list);//此类可以对集合List排序 默认是按照升序进行排列的
        output(list);
        Collections.sort(list,new MyCompare());//按照自己定义的排序规则对List进行排序
        output(list);
    }
}

随机推荐

  1. sqlserver 时间 格式化

    0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       ...

  2. sql常用的日期函数与应用

    --本周第一天 ),getdate()) --or ,) --本周第一天 ,) --上月第一天 ),,,) --上月最后一天 ),,,)),)+' 23:59:59' --本月第一天 ,getdate ...

  3. oracle模糊查询效率可这样提高

    1.使用两边加'%'号的查询,oracle是不通过索引的,所以查询效率很低. 例如:select count(*) from lui_user_base t where t.user_name lik ...

  4. 读懂IL代码(二)

    上一篇提到了最基本的IL代码,应该是比较通俗易懂的,所以有了上一篇的基础之后,这篇便要深入一点点的来讲述了. 首先我必须再来说一些重要的概念: Evaluation Stack(评估栈):这是由.NE ...

  5. 从零开始学java(猜数字游戏)

    练练手不喜勿喷,看到什么学习什么第一次发博客格式就见见谅.....                                            2016-07-21 19:55:02 imp ...

  6. jacob 操作word

    1. 首先下载jacob-1.18.zip,解压后有两个文件jacob.jar 和 jacob.dll.需要把jacob.jar放到你工程的classpath中并且把jacob.dll放到jdk的bi ...

  7. HTML TAG FROM MDN

    A <a> <abbr> <acronym> <address> <applet> <area> <article> ...

  8. MS SQL SERVER 2008 R2 实例服务启动出现10048错误解决办法

    由于个人癖好,把MSSQLSERVER服务禁止了开机启动,每次需要的时候就输入CMD命令开启.今天在开启的时候,系统提示“发生服务特定错误:10048”. 于是打开SQL Server配置管理器,发现 ...

  9. slice的用法与用量

    用法:slice用于从指定值截取并返回新数组,但原数组结构不变 arrayObject.slice(start,[end]) 起始值可以为负数,-1为最后一个,end选填,但取不到end坐标的值,实际 ...

  10. 马的遍历问题-回溯法应用-ACM

    马的遍历问题 在n*m的棋盘中,马只能走“日” 字.马从位置(x,y)处出发,把棋盘的每一格都走一次,且只走一次.找出所有路径. 问题解的搜索空间? 棋盘的规模是n*m,是指行有n条边,列有m条边. ...