List排序,這里介紹兩種排序:
1.Collections.sort()排序:
假如List集合中放的是Menu對象。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public class Menu{ private int id; private String name; private int seq; //自定義排序字段 //構造函數、getter、setter省略....... } List<Menu> menus= new ArrayList<Menu>(); menus.add( new Menu( 1 , "系統菜單" , 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) { //比較的字段,這里是按照自定義排序字段進行升序排列,如果要降序,對調兩個比較參數即可。 return m1.getSeq().compareTo(m2.getSeq()); } } //輸出結果 1 , "系統菜單" , 2 3 , "我的菜單" , 3 2 , "我的菜單" , 5 |
2.冒泡排序
1
2
3
4
5
6
7
8
9
10
|
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); } } } |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:https://my.oschina.net/ht896632/blog/628443