zoukankan      html  css  js  c++  java
  • Java Collections.sort方法对list集合排序

    1、排序测试类

    复制代码
    package com.ljq.test;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class UserSort {
    
        public static void main(String[] args) {
            List<User> userList =new ArrayList<User>();
            userList.add(new User(1,2.2));
            userList.add(new User(2,1.1));
            userList.add(new User(3,4.4));
            userList.add(new User(4,5.5));
            userList.add(new User(5,3.3));
            
            Collections.sort(userList, new Comparator<User>() {
                public int compare(User u1, User u2) {
                    return new Double(u1.getSalary()).compareTo(new Double(u2.getSalary())); //升序
                    // return new Double(u2.getSalary()).compareTo(new Double(u2.getSalary())); //降序
                }
            });
            
            for(User user : userList){
                System.out.println(user);
            }
        }
    }
    复制代码

    2、User对象,存储javabean属性

    复制代码
    package com.ljq.test;
    
    import java.io.Serializable;
    
    /**
     * 用户
     *
     * @author jqlin
     */
    public class User implements Serializable{
        private static final long serialVersionUID = 1L;
        
        private long id; // 主键
        private double salary; // 薪资
    
        public User() {
    
        }
    
        public User(long id, double salary) {
            super();
            this.id = id;
            this.salary = salary;
        }
    
        public long getId() {
            return id;
        }
    
        public void setId(long id) {
            this.id = id;
        }
    
        public double getSalary() {
            return salary;
        }
    
        public void setSalary(double salary) {
            this.salary = salary;
        }
    
        @Override
        public String toString() {
            return "User [id=" + id + ", salary=" + salary + "]";
        }
    
    }
    复制代码

    3、多字段排序,基本数字类型要用封装数字类型才可以排序,如:new Double()

    复制代码
            Collections.sort(dataList, new Comparator<OrderVO>(){
                public int compare(OrderVO a, OrderVO b) {
                    //先按期号降序,如果期号相同按玩法名称降序,如果玩法名称相同按投注时间降序
                    int result = b.getCreateTime().compareTo(a.getCreateTime());
                    if(result == Zero.INT){
                        return new Integer(a.getSort()).compareTo(new Integer(b.getSort()));
                    }else{
                        return result;
                    }
                }
            });
    复制代码
  • 相关阅读:
    【FLASH BUILDER 4.6 快捷键】只记几个对自己有帮助的
    分享一个消息组件
    一些iis配置相关报错的参考
    JQuery 学习总结及实例
    百度地图 测距
    VS2010引用App_Code下的类文件问题解决方法
    HttpWebRequest 方式提交文件数据以图片为例
    Flex与.NET互操作(二):基于WebService的数据访问(上)
    Asp.net MVC中的ViewData与ViewBag
    C# HttpWebRequest 方式提交数据,参数为普通键值对
  • 原文地址:https://www.cnblogs.com/fuhengheng/p/7992489.html
Copyright © 2011-2022 走看看