點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第十章匯總
10.5 使用Vector集合 排序
從最后一個例子的輸出顯示出你輸入的次序。如果想要符合實際,比如說,在明星表的創(chuàng)建中,我們應該按字母序安排表。我們可以編寫自己的方法為Crowd對象中的person對象排序,但在利用java.util包的另一個特點時會有許多小麻煩,Collections類-不能與Colleetion接口混淆。Collectictions類定義了各種簡便的靜態(tài)方法使你可以在集合中使用,其中之一是sort()方法。
sort()方法只對表排序。也就是說只對實現(xiàn)List接口的集合排序。明顯地,對于Sort()與法也有某種方法決定待排表的對象的次序,在我們這種情況下是Person()對象。對Person對象排序最適合的方法是實現(xiàn)這個類的Comparable接口。Comparable接口只聲明了CompareTo()一個方法。在string類中我們見過這種方法,因此你知道依據(jù)當前對象是小于。等于或大于傳給方法的白變量決定返回一1, 0或+1.如果Comparablc接口在類中實現(xiàn)了,我們只需向sort()方法傳遞集合對象作自變量。集合拌好序,沒有返回值。
我們可以為我們的Person類極容易地實現(xiàn)Comparable接口,如下:
public class Person implements Comparable
{
this.firstName=firstName;
this.surname=surname;
}
public string tostring()
( return firstName+ " " +surname
//compare person objects
public int compareTo(object person)
{
int result=surname.compareTo(((person)person).surname);
return result==0?firstName.compareTo(((person)person).firstName):result;
}
private string fireName; //Firs name of person
private string surrame; //second name of person
}
相關(guān)推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |