代码
排序
/**
* 排序
*/
private void sort(List<RpHourDishStat> rpHourDishStatList,Integer queryType){
// List<RpHourDishStat> total = rpHourDishStatList.stream().filter(x -> x.getSourcedetailtype() == -6).collect(Collectors.toList());
Collections.sort(rpHourDishStatList, new Comparator<RpHourDishStat>() {
public int compare(RpHourDishStat o1, RpHourDishStat o2) {
try {
// 取得比较对|象的汉字编码,并将其转换成字符串
String s1;
String s2;
if (queryType==0) {
s1 = new String((o1.getAreaid() + "&" + o1.getSorttype()).getBytes("GB2312"), "ISO-8859-1");
s2 = new String((o2.getAreaid() + "&" + o2.getSorttype()).getBytes("GB2312"), "ISO-8859-1");
}else {
// s1 = new String((o1.getSupervisorId()+"&"+o1.getManagerId()+"&"+o1.getBigareaId()).getBytes("GB2312"), "ISO-8859-1");
// s2 = new String((o2.getSupervisorId()+"&"+o2.getManagerId()+"&"+o2.getBigareaId()).getBytes("GB2312"), "ISO-8859-1");
s1 = new String((o1.getBigareaId()+"&"+o1.getManagerId()+"&"+o1.getSupervisorId()).getBytes("GB2312"), "ISO-8859-1");
s2 = new String((o2.getBigareaId()+"&"+o2.getManagerId()+"&"+o2.getSupervisorId()).getBytes("GB2312"), "ISO-8859-1");
}
if (s1.compareTo(s2)==0){
if (o1.getSorttype()>o2.getSorttype())
return 1;
else if (o1.getSorttype()<o2.getSorttype())
return -1;
else
return 0;
}
// 运用String类的 compareTo()方法对两对象进行比较
return s1.compareTo(s2);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
});
等于一些业务需要提示处理采用字典排序