Java 中Comparator 的使用,實現集合排序

來源:互聯網
上載者:User

標籤:

目標:實現對Person 對象的年齡,從小到大排序

1、實現排序

 

 1 package com.app; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.List; 7  8 public class A1 extends B{ 9 10     public static void main(String[] args) {11         List<Person> list = getData() ;12         //排序13         Collections.sort( list , comparator );14         15         for (Person person : list) {16             System.out.println("person   " + person.getName() + "  " + person.getAge() );17         }18         19     }20 21     /**22      * 年齡按從小到大排序23      */24     static Comparator<Person> comparator = new Comparator<Person>() {25         @Override26         public int compare(Person p1 , Person p2 ) {27             if( p1.getAge() > p2.getAge() ){28               return 1 ;  //正數29             }else if ( p1.getAge() < p2.getAge()) {30                 return -1 ;  //負數31             }else {32                 return 0;  //相等為033             }34         }35     };36 37     static private List<Person> getData() {38         List<Person> list = new ArrayList<>() ;39 40         Person p1 = new Person() ;41         p1.setAge( 10 ); 42         p1.setName( "p1" );43 44         Person p2 = new Person() ;45         p2.setAge( 30 ); 46         p2.setName( "p2" );47 48         Person p3 = new Person() ;49         p3.setAge( 20 ); 50         p3.setName( "p3" );51 52         Person p4 = new Person() ;53         p4.setAge( 15 ); 54         p4.setName( "p4" );55 56         list.add( p1 ) ;57         list.add( p2 ) ;58         list.add( p3 ) ;59         list.add( p4 ) ;60 61         return list ;62     }63 }


 

2、建立Person類

   

package com.app;public class Person {    private int age ;    private String name ;        public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}


3、運行結果(實現對年齡的排序)

    person   p1  10
    person   p4  15
    person   p3  20
    person   p2  30

 

 

Java 中Comparator 的使用,實現集合排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.