java List 排序之冒泡排序?qū)嵗a
java List 排序之冒泡排序?qū)嵗a
List排序,這里介紹兩種排序:
1.Collections.sort()排序:
假如List集合中放的是Menu對(duì)象。
public class Menu{ private int id; private String name; private int seq;//自定義排序字段 //構(gòu)造函數(shù)、getter、setter省略....... } List<Menu> menus=new ArrayList<Menu>(); menus.add(new Menu(1,"系統(tǒng)菜單",2)); menus.add(new Menu(2,"我的菜單",5)); menus.add(new Menu(3,"我的菜單",3)); //排序Collections.sort(menus, new ComparatorMenu()); //比較器類 class ComparatorMenu implements Comparator<Menu> { public int compare(Menu m1, Menu m2) { //比較的字段,這里是按照自定義排序字段進(jìn)行升序排列,如果要降序,對(duì)調(diào)兩個(gè)比較參數(shù)即可。 return m1.getSeq().compareTo(m2.getSeq()); } } //輸出結(jié)果 1,"系統(tǒng)菜單",2 3,"我的菜單",3 2,"我的菜單",5
2.冒泡排序
for (int i = 0; i < menus.size() - 1; i++) { for (int j = 1; j < menus.size() - i; j++) { Menu menu; if ((menus.get(j - 1).getSeq().toString()).compareTo(menus.get(j).getSeq()) > 0) { menu = allTree.get(j - 1); menus.set((j - 1), menus.get(j)); menus.set(j, menu); } } }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Java設(shè)計(jì)模式中裝飾者模式應(yīng)用詳解
裝飾者模式:在不改變?cè)袑?duì)象的基礎(chǔ)之上,動(dòng)態(tài)的將功能附加到對(duì)象上,提供了繼承更有彈性的替代方案,也體現(xiàn)了開閉原則。本文將通過(guò)示例詳細(xì)講解一下裝飾者模式,需要的可以參考一下2022-11-11Java創(chuàng)建對(duì)象的六種常用方式總結(jié)
作為Java開發(fā)者,經(jīng)常創(chuàng)建很多對(duì)象,你是否知道Java中創(chuàng)建對(duì)象有哪些方式呢?下面這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建對(duì)象的六種常用方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06Java協(xié)程編程之Loom項(xiàng)目實(shí)戰(zhàn)記錄
這篇文章主要介紹了Java協(xié)程編程之Loom項(xiàng)目嘗鮮,如果用嘗鮮的角度去使用Loom項(xiàng)目,可以提前窺探JVM開發(fā)者們是如何基于協(xié)程這個(gè)重大特性進(jìn)行開發(fā)的,這對(duì)于提高學(xué)習(xí)JDK內(nèi)核代碼的興趣有不少幫助,需要的朋友可以參考下2021-08-08java書店系統(tǒng)畢業(yè)設(shè)計(jì) 總體設(shè)計(jì)(1)
這篇文章主要介紹了java書店系統(tǒng)畢業(yè)設(shè)計(jì),第一步系統(tǒng)總體設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10詳解關(guān)于eclipse中使用jdk15對(duì)應(yīng)javafx15的配置問題總結(jié)
這篇文章主要介紹了詳解關(guān)于eclipse中使用jdk15對(duì)應(yīng)javafx15的配置問題總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解
本文詳細(xì)講解了java數(shù)據(jù)結(jié)構(gòu)ArrayList的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12面向?qū)ο缶幊?Java中的抽象數(shù)據(jù)類型
面向?qū)ο缶幊?Java中的抽象數(shù)據(jù)類型...2006-12-12BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決
這篇文章主要介紹了BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06springboot @Valid注解對(duì)嵌套類型的校驗(yàn)功能
這篇文章主要介紹了springboot~@Valid注解對(duì)嵌套類型的校驗(yàn),主要介紹 @Valid在項(xiàng)目中的使用,需要的朋友可以參考下2018-05-05