這篇文章主要講解了Java實現(xiàn)儲存對象并按對象某屬排序的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

在編程的時候,經(jīng)常會出現(xiàn)對某一種類的對象們按照某屬性進行自定義的排序,比如:學生對象按照age大小排序。
有一種方法就是把age單獨提出來排好序,然后按照ages數(shù)組的順序把students重存一次。但是這樣太繁瑣了,有沒有更好的方法呢?
有滴~
第一種,可以實現(xiàn)邊添加邊排序,需要用到TreeSet。
第二種,用數(shù)組存放對象們,但是不需單獨取出某屬性排列好再重存,而是在原數(shù)組上用比較器重新排一次序。需要用到Arrays.sort(arr,comparator)。
第三種,用集合類中的list的子類存放對象們,然后排序。需要用到Collections.sort(list,comparator)。
以下分別討論:
一、TreeSet
創(chuàng)建:
| 序號 | 構(gòu)造函數(shù)的說明 |
|---|---|
| 1 | TreeSet () 此構(gòu)造函數(shù)構(gòu)造空樹集,將在根據(jù)其元素的自然順序按升序排序。 |
| 2 | TreeSet (集合 c) 此構(gòu)造函數(shù)生成樹的集合,它包含的元素的集合 c。 |
| 3 | TreeSet (比較器 comp) 此構(gòu)造函數(shù)構(gòu)造一個空樹集,將根據(jù)給定的比較器進行排序。 |
增:
boolean | add(E e)將指定的元素添加到這套,如果它已不存在。 |
boolean | addAll(Collection<? extends E> c)在加入這一組指定的集合中添加的所有元素。 |
刪:
boolean | remove(Object o)從這一組中移除指定的元素,如果它存在。 |
void | clear()從這一組中移除所有元素。 |
查:
Comparator<? super E> | comparator()返回用于排序在這集,或空元素,如果這套使用自然排序其元素的比較。 |
boolean | contains(Object o)如果此集合包含指定的元素,則返回true 。 |
boolean | isEmpty()如果此集不包含任何元素,則返回true 。 |
Iterator<E> | iterator()返回迭代器中這套以升序排序的元素。 |
| |
int | size()在這套 (其基數(shù)) 中返回的元素的數(shù)目。 |
|
遍歷:通過迭代器遍歷。
Iterator it=treeset.iterator();
while(it.hasNext()){
//操作當前結(jié)點。
}另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.chinadenli.net,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章名稱:Java實現(xiàn)儲存對象并按對象某屬排序的方法-創(chuàng)新互聯(lián)
當前URL:http://www.chinadenli.net/article16/djhddg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、網(wǎng)頁設計公司、小程序開發(fā)、網(wǎng)站設計、做網(wǎng)站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容