List 自定义排序


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


    @SuppressWarnings("unchecked")  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        List listInt = new ArrayList(),  
                listStr = new ArrayList();  
        //自定义Comparator对象,自定义排序  
        Comparator c = new Comparator<User>() {  
            @Override  
            public int compare(User o1, User o2) {  
                // TODO Auto-generated method stub  
                if(o1.getAge() < o2.getAge()){
                return -1;  
                }else{
                return 1;  
                }
               //注意!!返回值必须是一对相反数,否则无效。jdk1.7以后就是这样。  
               //      else return 0; //无效  
            }  
        };    
        User u1 =new User();
        u1.setAge(5);
        User u2 =new User();
        u2.setAge(2);
        User u3 =new User();
        u1.setAge(10);
        
        
//        listInt.add(2);     listInt.add(4);     listInt.add(9);     listInt.add(5);  
        listStr.add(u1);  
        listStr.add(u2);  
        listStr.add(u3);  
//        listStr.add("Ti");  
//        @SuppressWarnings("rawtypes")  
//        List list01 = new ArrayList(listInt);  
//        List list02 = new ArrayList(listInt);  
//          
//        Collections.sort(listInt);  
//        Collections.sort(listStr);  
//        list01.sort(c);  
        Collections.sort(listStr,c);  
          
//        System.out.println(listInt); 
        for (Object object : listStr) {

        System.out.println(((User)object).getAge());  
}
//        System.out.println(list01);  
//        System.out.println(list02);  
  
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值