根据列表中的指定字段进行排序
来源:互联网 发布:杰尼斯知乎 编辑:程序博客网 时间:2024/06/04 18:50
1.根据指定的顺序对列表进行排序
import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Map;/** * @author dengsilinming * */public class ListSortByListSortComparator implements Comparator<Object> {//存放顺序的列表 private List<String> listSort; //排序字段 private String sortField; public ListSortByListSortComparator(List<String> listSort, String sortField){ this.listSort = listSort; this.sortField = sortField; } public ListSortByListSortComparator(String strSort, String sortField){ listSort = new ArrayList<String>(); for(String s : strSort.split(",")){ listSort.add(s); } this.sortField = sortField; }@SuppressWarnings("rawtypes")public int compare(Object o1, Object o2) {Map m1 = (Map)o1;Map m2 = (Map)o2;String s1 = m1.get(sortField).toString();String s2 = m2.get(sortField).toString();int i1 = listSort.indexOf(s1);int i2 = listSort.indexOf(s2); if(i1 < 0){ i1 = listSort.size() + 1; } if(i2 < 0){ i2 = listSort.size() + 1; }if(i1 < i2){return -1;}else if(i1 == i2){return 0;}else{return 1;}}}
调用方式:
//对学生列表(studentList)按指定的顺序进行排序Collections.sort(studentList, new ListSortByListSortComparator(studentNos, "studentNo"));
2.按指定的列表字段对列表进行排序
import java.util.Comparator;import java.util.Map;/** * @author dengsilinming * */public class ListSortByValueComparator implements Comparator<Object> { private String sortField; public ListSortByValueComparator(String sortField){ this.sortField = sortField; } @SuppressWarnings("rawtypes")public int compare(Object o1, Object o2) {Map m1 = (Map)o1;Map m2 = (Map)o2;double i1 = Double.parseDouble(m1.get(sortField).toString());double i2 = Double.parseDouble(m2.get(sortField).toString());if(i1 > i2){return -1;}else if(i1 == i2){return 0;}else{return 1;}}}调用方式:
//按学生成绩进行排序Collections.sort(studentList, new ListSortByValueComparator("score"));
0 0
- 根据列表中的指定字段进行排序
- php数组根据指定字段对数组进行排序函数
- 泛型列表根据某个字段进行排序的用法
- 按照列表中的某个字段的属性进行排序
- MySQL 按指定字段自定义列表排序
- MySQL 按指定字段自定义列表排序
- MySQL 按指定字段自定义列表排序
- List<Entity>排序:根据javabean中的一个字段对beanList进行排序
- 根据value字段对map进行排序
- postgresql根据指定序列进行自定义排序
- python根据函数进行列表排序
- 二维数组按指定字段进行排序
- PHP排序函数-根据指定字段将数组排序
- 对象列表按照某字段进行排序
- java中list里面存放map,根据map中的某一个字段进行排序
- oracle数据库中的某个字段根据中文拼音的首字母进行排序
- 基于JavaScript实现Json数据根据某个字段(json中的某个属性)进行排序
- java中list里面存放map,根据map中的某一个字段进行排序
- <码农进阶> 解析sql语句中参数名然后根据发射获取对应参数值
- 优秀员工的10个修养
- zookeeper+dubbo+dubbo管理集群的简要配置[单机]
- 蓝牙4.0(BLE)电子烟方案
- 【设计模式】代理模式
- 根据列表中的指定字段进行排序
- JAVA服务器端性能优化----String
- jquery获取当前时间
- Cocos2d-x使用iOS游戏内付费IAP(C++篇)
- JS操作JSON总结
- android自定义radiobutton、checkbox样式
- proxool中部分属性的介绍
- 牛不可怕,可怕的不仅比你牛还比你努力
- assert,assert_static和static_assert区别