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