对list进行排序-重写排序规则
一、得到需要排序的list
for(String meter :meterList){ //根据电表编号获取计量点名称 String mpName = cusMeterDao.selectMpNameByMeter(meter); PieReturn pieReturn = new PieReturn(); BigDecimal bigDecimal = stringBigDecimalMap.get(meter); if(bigDecimal!=null ){ /*if(bigDecimal.compareTo(new BigDecimal(0))<0){//发现负值强制归零 bigDecimal=new BigDecimal(0); }*/ pieReturn.setValue(MathUtils.towDecimal(bigDecimal)); pieReturn.setName(mpName); dataList.add(pieReturn); } }
二、对list进行排序-排序规则是自定义的一个规则,从对象中去除一个属性值进行比较大小
//对返回的list进行排序 Collections.sort(dataList,new Comparator<PieReturn>(){ //排序 @Override public int compare(PieReturn o1, PieReturn o2) { if(o1.getValue()!=null && o2.getValue()!=null){ return o1.getValue().compareTo(o2.getValue()); }else { return -1; } } });