zoukankan      html  css  js  c++  java
  • java的Collections对list排序

    用Collections.sort方法对list排序有两种方法
    第一种是list中的对象实现Comparable接口:
     

    User us = new User();
    us.setRealName("a");
    us.setState(2);
    User us1 = new User();
    us1.setRealName("b");
    us1.setState(1);
    List<User> lists = new ArrayList<User>();
    lists.add(us);
    lists.add(us1);

      Collections.sort(lists);

    第二种是Collections.sor的重载方法

    public static void main(String[] args) {
    User us = new User();
    us.setRealName("a");
    us.setState(2);
    User us1 = new User();
    us1.setRealName("b");
    us1.setState(1);
    List<User> lists = new ArrayList<User>();
    lists.add(us);
    lists.add(us1);
    Collections.sort(lists, new Comparator<User>(){
    @Override
    public int compare(User arg0, User arg1) {
    return arg0.getState()-arg1.getState();
    }

    });
    for(User u : lists){
    System.out.println(u.getRealName());
    }
    }


    第三种多字段场合:

    Collections.sort(list,new Comparator <user>(){
    public int compare(User arg0, User arg1) {
    // 第一次比较专业
    int i = arg0.getOrder().compareTo(arg1.getOrder());
    //如果专业相同则进行第二次比较
    if(i==0){
    //第二次比较
    int j=arg0.getXXX().compareTo(arg1.getXXX());
    //如果学制相同则返回按年龄排序
    if(j==0){
    return arg0.getCCC().compareTo(arg1.getCCC());
    }
    return j;
    }
    return i;
    }
    });

     
  • 相关阅读:
    闭包和this
    闭包与变量
    闭包
    ES6扩展运算符的几个小技巧
    js对象的深拷贝
    js获取当前点击元素的索引
    前端学习指北
    css实现心形图案
    this 知多少
    js数字进制转换
  • 原文地址:https://www.cnblogs.com/lbangel/p/3088365.html
Copyright © 2011-2022 走看看