zoukankan      html  css  js  c++  java
  • java List 排序 Collections.sort() 对 List 排序

    java List 排序 Collections.sort() 对 List 排序

    //一个POJO例子

    class User {
     String name;
     String age;
     
     public User(String name,String age){
      this.name=name;
      this.age=age;
     }
     public String getAge() {
      return age;
     }
     public void setAge(String age) {
      this.age = age;
     }
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     } 
    }


    //具体的比较类,实现Comparator接口

    import java.util.Comparator;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Collections;

    public class ComparatorUser implements Comparator{

     public int compare(Object arg0, Object arg1) {
      User user0=(User)arg0;
      User user1=(User)arg1;

       //首先比较年龄,如果年龄相同,则比较名字

      int flag=user0.getAge().compareTo(user1.getAge());
      if(flag==0){
       return user0.getName().compareTo(user1.getName());
      }else{
       return flag;
      }  
     }
     
    }




    //测试类
    public class SortTest {

     
     public static void main(String[] args){
      List userlist=new ArrayList();
      userlist.add(new User("dd","4"));
      userlist.add(new User("aa","1"));
      userlist.add(new User("ee","5"));
      userlist.add(new User("bb","2"));  
      userlist.add(new User("ff","5"));
      userlist.add(new User("cc","3"));
      userlist.add(new User("gg","6"));
      
      ComparatorUser comparator=new ComparatorUser();
      Collections.sort(userlist, comparator);
       
      for (int i=0;i<userlist.size();i++){
       User user_temp=(User)userlist.get(i);
          System.out.println(user_temp.getAge()+","+user_temp.getName()); 
      }
      
     }
    }

     //首先年龄排序,如果年龄相同,则按名字排序

    结果:
       1, aa
       2, bb
       3, cc
       4, dd
       5, ee                    //注意:同样是5岁的人,则比较名字(ee,ff),然后排序
       5, ff
       6, gg

  • 相关阅读:
    git 入门操作
    ubuntu apc 安装
    vps mysql自动关闭
    xdebug安装
    C#获取IP和主机名
    C#在类中用调用Form的方法
    luogu3181 [HAOI2016]找相同字符
    luogu6139 【模板】广义后缀自动机(广义SAM)
    广义后缀自动机小结
    Codeforces Round #620 (Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/4951653.html
Copyright © 2011-2022 走看看