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());
}
}
}