用Collections.sort方法对list排序有两种方法
测试一下:
第一种是list中的对象实现Comparable接口,如下:
01 | /** |
02 | * 根据order对User排序 |
03 | */ |
04 | public class User implements Comparable |
05 | |
{ |
15 | private String name; |
16 | private Integer order; |
17 | public String getName() { |
18 | return name; |
19 | } |
20 | public void setName(String name) { |
21 | this .name = name; |
22 | } |
23 | public Integer getOrder() { |
24 | return order; |
25 | } |
26 | public void setOrder(Integer order) { |
27 | this .order = order; |
28 | } |
29 | public int compareTo(User arg0) { |
30 | return this .getOrder().compareTo(arg0.getOrder()); |
31 | } |
32 | } |
33 |
List
list =
new
ArrayList<User>();
User user1 =
new
User();
User user2 =
new
User();
list.add(user1);
list.add(user2);
Collections.sort(list);
第二种方法是根据Collections.sort重载方法来实现,例如:
01 | Collections.sort(list,new Comparator <user>(){ |
02 | public int compare(User arg0, User arg1) { |
03 | return arg0.getOrder().compareTo(arg1.getOrder()); |
04 | } |
05 | }); |
|