java sort排序按照指定的属性_关于java sort的几种实现方式(单纯排序,按照bean的某一个字段,按照bean的多个字段)...

importjava.util.ArrayList;importjava.util.Collections;importjava.util.LinkedHashMap;importjava.util.List;importjava.util.Map;importcn.com.ydd.bean.SortBean;importcn.com.ydd.util.CommonUtil;public classSortTest {public static voidmain(String[] args) {//1、単純なリストをソートする例

ArrayList lst = newArrayList();

lst.add("00000000001");

lst.add("00000000002");

lst.add("00000000003");

lst.add("00000000004");

lst.add("00000000005");//単純なリストをソートする例(昇順)

Collections.sort(lst);

System.out.println(lst.toString());//単純なリストをソートする例(降順)

Collections.reverse(lst);

System.out.println(lst.toString());//2、LISTに持っているbeanのある属性をキーとしてソートする例

List list = new ArrayList();

SortBean sb;

sb= newSortBean();

sb.setId("00001");

sb.setName("田中");

sb.setSex("F");

list.add(sb);

sb= newSortBean();

sb.setId("00002");

sb.setName("佐藤");

sb.setSex("M");

list.add(sb);

sb= newSortBean();

sb.setId("00003");

sb.setName("佐藤");

sb.setSex("M");

list.add(sb);

sb= newSortBean();

sb.setId("00004");

sb.setName("佐藤");

sb.setSex("M");

list.add(sb);

sb= newSortBean();

sb.setId("00005");

sb.setName("山本");

sb.setSex("F");

list.add(sb);

sb= newSortBean();

sb.setId("00006");

sb.setName("山本");

sb.setSex("F");

list.add(sb);//降順

System.out.println("***********name:降順*************");

CommonUtil.sort(list,"name", false);for(SortBean item : list){

System.out.print(item.getId()+" ");

System.out.print(item.getName()+" ");

System.out.println(item.getSex());

}//昇順

System.out.println("***********name:昇順*************");

CommonUtil.sort(list,"name", true);for(SortBean item : list){

System.out.print(item.getId()+" ");

System.out.print(item.getName()+" ");

System.out.println(item.getSex());

}

System.out.println("***********name:昇順 ID:降順*************");//3、LISTに持っているbeanの複数属性をキーとしてソートする例

Map sortParam = new LinkedHashMap();//name:昇順 ID:降順

sortParam.put("name", "asc");

sortParam.put("id", "desc");

CommonUtil.sortExecute(list, sortParam);for(SortBean item : list){

System.out.print(item.getId()+" ");

System.out.print(item.getName()+" ");

System.out.println(item.getSex());

}

sortParam.clear();//name:昇順 ID:昇順

sortParam.put("name", "desc");

sortParam.put("id", "asc");

CommonUtil.sortExecute(list, sortParam);

System.out.println("***********name:降順 ID:昇順*************");for(SortBean item : list){

System.out.print(item.getId()+" ");

System.out.print(item.getName()+" ");

System.out.println(item.getSex());

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值