java中提供了對集合進(jìn)行操作的工具類Collections,
Collections對集合中的元素提供了默認(rèn)的排序方法,sort(),根據(jù)元素的自然順序?qū)χ付斜戆瓷蜻M(jìn)行排序。
這里舉兩個例子來說明下這個方法
首先是一個簡單的例子
import?java.util.ArrayList;import?java.util.Collections;import?java.util.List;?public?class?Test_02?{ public?static?void?main(String[]?args)?{ //創(chuàng)建 List?list?=?new?ArrayList(); list.add(3); list.add(2); list.add(5); list.add(7); System.out.println(list); //排序 Collections.sort(list); System.out.println(list); }}輸出結(jié)果:[3,2,5,7][2,3,5,7]
對于這個例子,Integer類自己實現(xiàn)好了Comparable接口,并且重寫了comepareTo方法,所以我們可以直接調(diào)用方法就可以實現(xiàn)排序,那么有些人可能會有些疑問,下面的例子可能會解決你的這些問題。
2.對于一些,自己創(chuàng)建的類,比如Person類,想根據(jù)里面的年齡屬性進(jìn)行排序的話,那么就需要實現(xiàn)Comparable接口,并且重寫compareTo方法,這樣就可以根據(jù)自己的需要,調(diào)用sort方法去排序啦,代碼附下
public?class?Person?implements?Comparable?{ private?String?name; private?int?age; 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; } public?Person()?{ } public?Person(String?name,int?age)?{ this.name?=?name; this.age?=?age; } @Override public?int?compareTo(Person?p)?{ if(age?>?p.getAge())?{ return?1; }else?if(age?==?p.getAge())?{ return?0; } return?-1; } @Override public?String?toString()?{ return?"Person?[name="?+?name?+?",?age="?+?age?+?"]"; }}import?java.util.ArrayList;import?java.util.Collections;import?java.util.List;?public?class?Test_01?{ public?static?void?main(String[]?args)?{ List?list?=?new?ArrayList(); list.add(new?Person("張三",22)); list.add(new?Person("李四",19)); list.add(new?Person("王五",23)); list.add(new?Person("趙六",18)); System.out.println(list); Collections.sort(list); System.out.println(list); } }輸出結(jié)果:[Person[name=張三,age=22],Person[name=李四,age=19],Person[name=王五,age=23],Person[name=趙六,age=18]][Person[name=趙六,age=18],Person[name=李四,age=19],Person[name=張三,age=22],Person[name=王五,age=23]]
Java技術(shù)內(nèi)容
Java中List集合:http://www.bjpowernode.com/tutorial_java_advance/637.html
以上就是長沙牛耳教育java培訓(xùn)機構(gòu)的小編針對“編程基礎(chǔ)之Java中的list集合排序方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。