对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;
                }
            }
        });
原文地址:https://www.cnblogs.com/kongweiteng/p/7605386.html