之前看到过list排序,后来忘记了,这次记录下来方便自己今后查询。
方法一,简单的list比较排序。
List<VO> lists = new ArrayList<VO>();
Collections.sort(lists, new Comparator<VO>() {
@Override
public int compare(VO o1, VO o2) {
return o1.getOrder().compareTo(o2.getOrder());
}
});
public class Test_list_order { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(4); list.add(9); list.add(3); list.add(2); list.add(11); Collections.sort(list); for (Integer i : list) { System.out.println(i); } } }
实例:
class CorporateVO(){
private String siteOrder;
private String code;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
List<CorporateVO> lists = new ArrayList<CorporateVO>();
CorporateVO vo = new CorporateVO();
vo.setSiteOrder("1");
vo.setCode("222");
lists.add(vo);
CorporateVO vo1 = new CorporateVO();
vo1.setSiteOrder("1");
vo1.setCode("223");
lists.add(vo1);
CorporateVO vo2 = new CorporateVO();
vo2.setSiteOrder("1");
vo2.setCode("221");
lists.add(vo2);
CorporateVO vo3 = new CorporateVO();
vo3.setSiteOrder("2");
vo3.setCode("22");
lists.add(vo3);
CorporateVO vo4 = new CorporateVO();
vo4.setSiteOrder("3");
vo4.setCode("2");
lists.add(vo4);
Collections.sort(lists, new Comparator<CorporateVO>() {
@Override
public int compare(CorporateVO o1, CorporateVO o2) {
if(o1.getSiteOrder().equals(o2.getSiteOrder())){
return o1.getCode().compareTo(o2.getCode());
}
return o1.getSiteOrder().compareTo(o2.getSiteOrder());
}
});
for(CorporateVO v : lists){
System.out.println(v.getSiteOrder() + "------" + v.getCode());
}
}
输出结果:
1------221
1------222
1------223
2------22
3------2