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中RabbitMQ消息隊(duì)列的交換機(jī)詳解
這篇文章主要介紹了Java中的RabbitMQ交換機(jī)詳解,消息隊(duì)列是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過程中保存消息的容器,需要的朋友可以參考下2023-07-07
Java實(shí)現(xiàn)線程插隊(duì)的示例代碼
在編寫多線程的業(yè)務(wù)時(shí),會(huì)遇到讓一個(gè)線程優(yōu)先于其他線程運(yùn)行的情況,除了可以設(shè)置線程的優(yōu)先級(jí)高于其他線程,還有更直接的方式:線程插隊(duì)。本文將用Java實(shí)現(xiàn)線程插隊(duì),需要的可以參考一下2022-08-08
http協(xié)議進(jìn)階之Transfer-Encoding和HttpCore實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04
解決Spring Boot 在localhost域奇怪的404問題(Mac book pro)
這篇文章主要介紹了解決Spring Boot 在localhost域奇怪的404問題(Mac book pro),需要的朋友可以參考下2017-09-09
idea2020.1設(shè)置多個(gè)spring boot的service啟動(dòng)的實(shí)現(xiàn)
這篇文章主要介紹了idea2020.1設(shè)置多個(gè)spring boot的service啟動(dòng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器(逆波蘭表達(dá)式)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,逆波蘭表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
SpringBoot3.2.2整合MyBatis-Plus3.5.5依賴不兼容的問題解決
這篇文章給大家介紹了Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依賴不兼容問題,文中通過代碼示例和圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01
SpringBoot項(xiàng)目中使用OkHttp獲取IP地址的示例代碼
OkHttp?是一個(gè)由?Square?開發(fā)的高效、現(xiàn)代的?HTTP?客戶端庫(kù),用于?Android?和?Java?應(yīng)用程序,它支持?HTTP/2?和?SPDY?等現(xiàn)代網(wǎng)絡(luò)協(xié)議,并提供了多種功能和優(yōu)化,本文給大家介紹了SpringBoot項(xiàng)目中如何獲取IP地址,需要的朋友可以參考下2024-08-08
基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過程解析
這篇文章主要介紹了基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

