java Collection.sort

  1. 第一种方法,Bean中实现Comparator接口  
  2. public class CollectionsClass {  
  3.   
  4.     /** 
  5.      * @param args 
  6.      */  
  7.     public static void main(String[] args) {  
  8.         List<BeanClass> list = new ArrayList<BeanClass>();  //BeanClass 需实现Comparable接口  
  9.         BeanClass bc1 = new BeanClass();  
  10.         BeanClass bc2 = new BeanClass();  
  11.         bc1.para = 1;  
  12.         bc2.para = 2;  
  13.         list.add(bc1);  
  14.         list.add(bc2);  
  15.           
  16.         Collections.sort(list);  
  17.         System.out.println(list.get(0).para);  
  18.         System.out.println(list.get(1).para);  
  19.     }  
  20.   
  21. }  

BeanClass类

[java]  view plain  copy
  1. public class BeanClass implements Comparable<BeanClass>{  
  2.     int para;  
  3.   
  4.     public int compareTo(BeanClass bc) {  
  5. //      return this.para - bc.para; //升序  
  6.         return bc.para-this.para; //降序  
  7.     }  
  8. }  
第二种方法,自定义比较器

[java]  view plain  copy
  1. public class CollectionsClass {  
  2.   
  3.     /** 
  4.      * @param args 
  5.      */  
  6.     public static void main(String[] args) {  
  7.         List<BeanClass> list = new ArrayList<BeanClass>();  
  8.         BeanClass bc1 = new BeanClass();  
  9.         BeanClass bc2 = new BeanClass();  
  10.         bc1.para = 1;  
  11.         bc2.para = 2;  
  12.         list.add(bc1);  
  13.         list.add(bc2);  
  14.           
  15.         Collections.sort(list,new MyComparator());  
  16.           
  17.         System.out.println(list.get(0).para);     
  18.         System.out.println(list.get(1).para);     
  19.     }  
  20.   
  21. }  
MyComparator类

[java]  view plain  copy
  1. public class MyComparator implements Comparator<BeanClass>{  
  2.   
  3.     public int compare(BeanClass bc1, BeanClass bc2) {  
  4.         //return bc1.para-bc2.para; //升序  
  5.         return bc2.para-bc1.para; //降序  
  6.     }  
  7. }  

第三种,和第二种一样,不过使用匿名类

[java]  view plain  copy
  1. public class CollectionsClass {  
  2.   
  3.     /** 
  4.      * @param args 
  5.      */  
  6.     public static void main(String[] args) {  
  7.         List<BeanClass> list = new ArrayList<BeanClass>();  
  8.         BeanClass bc1 = new BeanClass();  
  9.         BeanClass bc2 = new BeanClass();  
  10.         bc1.para = 1;  
  11.         bc2.para = 2;  
  12.         list.add(bc1);  
  13.         list.add(bc2);  
  14.           
  15.         Collections.sort(list,new Comparator<BeanClass>(){  
  16.             @Override  
  17.             public int compare(BeanClass o1, BeanClass o2) {  
  18.                 return o1.para - o2.para;  //升序  
  19.                 return o2.para - o1.para;  //降序  
  20.             }  
  21.         });   
  22.      System.out.println(list.get(0).para);  
  23.      System.out.println(list.get(1).para);   
  24.      }  
  25. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值