List中对象按照属性时间升序排序

Map<String,Object> paramMap = new HashMap<String, Object>();
        paramMap.put("farmid", farmid);
        paramMap.put("occurDate", occurDate);
        paramMap.put("producecode", producecode);
        paramMap.put("buildNum", buildNum);

temperatureTimePageList = inspectionMapper.findTempPage(paramMap);


Collections.sort(temperatureTimePageList, new Comparator<TemperatureTimePage>() {


                    /*
                     * int compare(TemperatureTimePage o1, TemperatureTimePage o2) 返回一个基本类型的整型,
                     * 返回负数表示:o1小于o2, 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
                     */
                   public int compare(TemperatureTimePage o1, TemperatureTimePage o2) {

                        // 按照时间进行降序排列
                        int    flag = 0;
                        if (null != o1.getTime()
                                && null != o2.getTime()) {
                            flag = DateUtils.compareTime(o1.getTime(), o2.getTime());
                        }    
                        if(flag == 1){
                            
                            return 1;
                           
                        }else if(flag == 0){
                            
                            return  0;
                           
                        }else{
                            
                            return -1;
                           
                      }
                }
                });


public class TemperatureTimePage {
    private String time;

    private String temperature;

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getTemperature() {
        return temperature;
    }

    public void setTemperature(String temperature) {
        this.temperature = temperature;
    }

}


public class DateUtils {

public static int  compareTime(String dateStr1,String dateStr2){
            String[] str1Arr = dateStr1.split(":");
            String[] str2Arr = dateStr2.split(":");
                    
            if(Integer.parseInt(str1Arr[0]) > Integer.parseInt(str2Arr[0])){
                return 1;
            }if(Integer.parseInt(str1Arr[0]) == Integer.parseInt(str2Arr[0])){
                
                if(Integer.parseInt(str1Arr[1]) > Integer.parseInt(str2Arr[1])){
                    return 1;
                }else if(Integer.parseInt(str1Arr[1]) == Integer.parseInt(str2Arr[1])){
                    return 0;
                }else{
                    return -1;
                }
            }else{
                
                return -1;
            }
            
        }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值