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

    本文转自:http://www.blogjava.net/zygcs/archive/2008/01/17/176032.html

    //一个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

  • 相关阅读:
    js学习笔记之标准库
    js学习笔记
    html5学习
    C#调用win32 api程序实例
    javascript计算字符串中出现最多的字符和个数
    javascript中的promise和deferred:实践(二)
    jquery animate 详解
    jquery animate stop函数解析
    javascript继承的写法
    css3 改变滚动条样式
  • 原文地址:https://www.cnblogs.com/freeliver54/p/2636880.html
Copyright © 2011-2022 走看看