泛型是实体类的集合,根据某一字段排序

举例:
List<IrFldsltpvM> irFldsltpvMList 里的数据为:
[{SLTP_CODE:s04, SLTPV_Z:10.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s05, SLTPV_Z:20.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s05, SLTPV_Z:40.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:50.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:60.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:70.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:80.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:100.0, FLD_SLTP_ID:8863144676635},
{SLTP_CODE:s01, SLTPV_Z:110.0, FLD_SLTP_ID:8863144676635}]
需求用 SLTPV_Z 进行排序, 如下代码:

            // 排序胜率
            // 为了适应JDK1.7
            Collections.sort(irFldsltpvMList, new Comparator<IrFldsltpvM>(){
                //重点是这个函数
                @Override
                public int compare(IrFldsltpvM o1, IrFldsltpvM o2) {
                    //忽略掉大小写后,进行字符串的比较
                    Double s1 = Double.valueOf((String) o1.get("SLTPV_Z"));
                    Double s2 = Double.valueOf((String) o2.get("SLTPV_Z"));
                    //数字在ADCII中也是按照 排序的
//                    return s1.compareTo(s2);JDK1.8可用
//                    return s2.compareTo(s1);
                    //为了适应JDK1.7
                    return s1.doubleValue() == s2.doubleValue() ? 0 : (s1.doubleValue() > s2.doubleValue() ? 1 : -1);
                }
            }); 

最后集合排序成10,20,30,….

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值