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

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