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

 

posted @ 2017-09-28 10:10  kongweiteng  阅读(2332)  评论(0编辑  收藏  举报