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