JAVA對(duì)list集合進(jìn)行排序Collections.sort()
對(duì)一個(gè)集合中的對(duì)象進(jìn)行排序,根據(jù)對(duì)象的某個(gè)指標(biāo)的大小進(jìn)行升序或降序排序。代碼如下:
進(jìn)行降序排列
進(jìn)行降序排列 Collections.sort(list, new Comparator<ResultTypeDesc>() { public int compare(ResultTypeDesc o1, ResultTypeDesc o2) { return o2.getRatio().compareTo(o1.getRatio()); } });
進(jìn)行升序排列
Collections.sort(list, new Comparator<ResultTypeDesc>() { public int compare(ResultTypeDesc o1, ResultTypeDesc o2) { return o1.getRatio().compareTo(o2.getRatio()); } });
經(jīng)過測(cè)試發(fā)現(xiàn),只需要把兩個(gè)對(duì)象的位置調(diào)換一下即可升序或降序。
如果指標(biāo)相同,根據(jù)多個(gè)指標(biāo)進(jìn)行排序,需創(chuàng)建一個(gè)比較器:
import java.util.*; public class ComparatorResultType implements Comparator{ public int compare(Object arg0, Object arg1) { ResultTypeDesc desc0=(ResultTypeDesc)arg0; ResultTypeDesc desc1=(ResultTypeDesc)arg1; //首先比較主指標(biāo),如果主指標(biāo)相同,則比較次指標(biāo) int flag=desc0.getXXX().compareTo(desc1.getXXX()); if(flag==0){ return desc0.getXXX2().compareTo(desc1.getXXX2()); }else{ return flag; } } } //測(cè)試類中代碼: ComparatorResultType comparator=new ComparatorResultType(); Collections.sort(list, comparator);
對(duì)list集合進(jìn)行逆輸出:
Collections.reverse(list);
ResultTypeDesc這個(gè)為所需的實(shí)體類對(duì)象,具體使用結(jié)合自己代碼情況即可。
此方法有可能報(bào)空指針,自己結(jié)合情況,自行解決,判斷是否為NULL。
相關(guān)文章
java實(shí)現(xiàn)動(dòng)態(tài)上傳多個(gè)文件并解決文件重名問題
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)動(dòng)態(tài)上傳多個(gè)文件,并解決文件重名問題的方法,感興趣的小伙伴們可以參考一下2016-03-03Springboot整合SpringSecurity的完整案例詳解
Spring Security是基于Spring生態(tài)圈的,用于提供安全訪問控制解決方案的框架,Spring Security登錄認(rèn)證主要涉及兩個(gè)重要的接口 UserDetailService和UserDetails接口,本文對(duì)Springboot整合SpringSecurity過程給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-01-01Java簡(jiǎn)單計(jì)算器的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)單計(jì)算器的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12Java動(dòng)態(tài)獲取實(shí)現(xiàn)類的方式詳解
這篇文章主要介紹了Java動(dòng)態(tài)獲取實(shí)現(xiàn)類的方式詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2024-01-01JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法示例
這篇文章主要介紹了JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法,涉及java針對(duì)HTML代碼的正則替換相關(guān)操作技巧,需要的朋友可以參考下2017-07-07Java?Servlet異步請(qǐng)求開啟的簡(jiǎn)單步驟
Java servlet是大家公認(rèn)的服務(wù)器端web技術(shù)的標(biāo)準(zhǔn),包括jsp,jsf,和大量的web框架,soap,RESTful web service api,還有新聞供應(yīng),下面這篇文章主要給大家介紹了關(guān)于Java?Servlet異步請(qǐng)求開啟的簡(jiǎn)單步驟,需要的朋友可以參考下2022-02-02Java實(shí)現(xiàn)簡(jiǎn)單圖形界面計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單圖形界面計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04