乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      用Java集合中的Collections.sort方法對(duì)list排序的兩種方法

       GreatStep 2014-02-13

      第一種是list中的對(duì)象實(shí)現(xiàn)Comparable接口,如下:

      01 /**
      02 * 根據(jù)order對(duì)User排序
      03 */
      04 public class User implements Comparable
      05        
      06        
      07        
      08        
      09      <USER>
      10         
      11         
      12         
      13         
      14       {
      15     private String name;
      16     private Integer order;
      17     public String getName() {
      18         return name;
      19     }
      20     public void setName(String name) {
      21         this.name = name;
      22     }
      23     public Integer getOrder() {
      24         return order;
      25     }
      26     public void setOrder(Integer order) {
      27         this.order = order;
      28     }
      29     public int compareTo(User arg0) {
      30         return this.getOrder().compareTo(arg0.getOrder());
      31     }
      32 }
      33        
      34        
      35        
      36        
      37      </USER>

      測(cè)試一下:
      01 public class Test{
      02   
      03     public static void main(String[] args) {
      04         User user1 = new User();
      05         user1.setName("a");
      06         user1.setOrder(1);
      07         User user2 = new User();
      08         user2.setName("b");
      09         user2.setOrder(2);
      10         List
      11        
      12        
      13        
      14        
      15      <USER>
      16         
      17         
      18         
      19         
      20        list = new ArrayList
      21         
      22         
      23         
      24         
      25       <USER>
      26          
      27          
      28          
      29          
      30        ();
      31         //此處add user2再add user1
      32         list.add(user2);
      33         list.add(user1);
      34         Collections.sort(list);
      35         for(User u : list){
      36             System.out.println(u.getName());
      37         }
      38     }
      39 }
      40         
      41         
      42         
      43         
      44       </USER>
      45        
      46        
      47        
      48        
      49      </USER>

      輸出結(jié)果如下
      a
      b

      第二種方法是根據(jù)Collections.sort重載方法來(lái)實(shí)現(xiàn),例如:
      01 /**
      02 * 根據(jù)order對(duì)User排序
      03 */
      04 public class User { //此處無(wú)需實(shí)現(xiàn)Comparable接口
      05     private String name;
      06     private Integer order;
      07     public String getName() {
      08         return name;
      09     }
      10     public void setName(String name) {
      11         this.name = name;
      12     }
      13     public Integer getOrder() {
      14         return order;
      15     }
      16     public void setOrder(Integer order) {
      17         this.order = order;
      18     }
      19 }

      主類中這樣寫(xiě)即可:
      01 public class Test{
      02     public static void main(String[] args) {
      03         User user1 = new User();
      04         user1.setName("a");
      05         user1.setOrder(1);
      06         User user2 = new User();
      07         user2.setName("b");
      08         user2.setOrder(2);
      09         List
      10        
      11        
      12        
      13        
      14      <USER>
      15         
      16         
      17         
      18         
      19        list = new ArrayList
      20         
      21         
      22         
      23         
      24       <USER>
      25          
      26          
      27          
      28          
      29        ();
      30         list.add(user2);
      31         list.add(user1);
      32           
      33         Collections.sort(list,new Comparator
      34          
      35          
      36          
      37          
      38        <USER>
      39           
      40           
      41           
      42           
      43         (){
      44             public int compare(User arg0, User arg1) {
      45                 return arg0.getOrder().compareTo(arg1.getOrder());
      46             }
      47         });
      48         for(User u : list){
      49             System.out.println(u.getName());
      50         }
      51     }
      52 }
      53          
      54          
      55          
      56          
      57        </USER>
      58         
      59         
      60         
      61         
      62       </USER>
      63        
      64        
      65        
      66        
      67      </USER>

      輸出結(jié)果如下
      a
      b

      前者代碼結(jié)構(gòu)簡(jiǎn)單,但是只能根據(jù)固定的屬性排序,后者靈活,可以臨時(shí)指定排序項(xiàng),但是代碼不夠簡(jiǎn)潔

      多字段的場(chǎng)合:
      01 Collections.sort(list,new Comparator
      02         
      03         
      04         
      05         
      06       <USER>
      07          
      08          
      09          
      10          
      11        (){
      12             public int compare(User arg0, User arg1) {
      13  //            第一次比較專業(yè)
      14                 int i = arg0.getOrder().compareTo(arg1.getOrder());
      15   
      16 //            如果專業(yè)相同則進(jìn)行第二次比較
      17             if(i==0){
      18 //                第二次比較
      19                 int j=arg0.getXXX().compareTo(arg1.getXXX());
      20 //                如果學(xué)制相同則返回按年齡排序
      21                 if(j==0){
      22                     return arg0.getCCC().compareTo(arg1.getCCC());
      23                 }
      24                 return j;
      25             }
      26             return i;
      27             }
      28         });
      29         
      30         
      31         
      32         
      33       </USER>

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多