java集合排序簡單理解

來源:互聯網
上載者:User

       藉助Collections.sort方法完成了一個小小的排序功能,也藉此對Collections.sort方法有了簡單的認識。

      java 集合類的排序主要是用Collections.sort方法,Collections和Collection是不一樣的,前者是類,後者是介面。提示:實現介面的方法時,只需要比較兩個數,大的返回1,相等返回0,小於返回-1。簡單的說就是在方法裡這樣寫:num>s.num?1:(num==s.num?0:-1); num是被比較的數,s.num是比較的數,

1.Collection.sort(List arg0);
      這種是最簡單的一種排序方法,只需要實現他的Comparable 介面及實現public int compareTo(Object arg0)方法即可。

      假如你要對List數組people排序,只需要Collections.sort(people)既可。
2.Collection.srot(List arg0,Comparator arg1);
      這種加入了比較子,具有更大的靈活性,便於管理,比較子可作為內部靜態類的,以便於管理。比較子必須實現Comparator介面。

      假如想要根據List內對象的某個屬性來排序的話,就需要加入一個比較子。例如,people為People對象集,People對象有age屬性,現需要對所有People對象實現按年齡大小排序,具體代碼如下:

 

      在People類內加入內部靜態類PeopleComparator:

      //不考慮age屬性為空白的情況

      public static class PeopleComparator implements Comparator<People>{

               public int compare(People o1, People o2) {

               return o1.getAge().compareTo(o2.getAge());

               }

      } 

      程式中有List<People> people,要對people這個集合排序,加入

      Collections.sort(people, new People.PeopleComparator());既可。

 

 

 

      本人比較菜,如有錯誤的地方,還望觀者指正。拜謝!!!!呵呵^_^

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.