list集合根据对象属性排序

  1. 实体类中  implements Comparable<ClaimsRelationshipExtVO>接口 重写compareTo()方法
    1. public class ClaimsRelationshipExtVO implements Comparable<ClaimsRelationshipExtVO> {
      
      	private Date updateTime;
      	
      	@Override
          public int compareTo(ClaimsRelationshipExtVO o) {
              return this.updateTime.compareTo(o.getUpdateTime());
          }
      	
      }
      
      
    2. llist集合排序 

      List list1 = aisinoSearchMapper.querySix(params);
      Collections.sort(list1, new Comparator<ClaimsRelationshipExtVO>() {
      	@Override
      	public int compare(ClaimsRelationshipExtVO o1, ClaimsRelationshipExtVO o2) {
      		return o1.getUpdateTime().compareTo(o2.getUpdateTime());
      	}
      });

       

  2. list集合中存储map集合元素,根据map中value值排序
    1. List list1 = new ArrayList<>();
      Map<String,Object> map1 = new HashMap<String,Object>();
      map1.put("updateTime","2020-02-28");
      Map<String,Object> map2 = new HashMap<String,Object>();
      map1.put("updateTime","2020-02-29");
      list1.add(map1);
      list1.add(map2);
       //根据updateTime排序
      Collections.sort(list, new Comparator<HashMap<String,Object>>() {
      	@Override
      	public int compare(HashMap<String, Object> o1, HashMap<String, Object> o2) {
      		String date1 = String.valueOf(o1.get("updateTime"));
      		String date2 = String.valueOf(o2.get("updateTime"));
      		if (StringUtils.isNotEmpty(date1) && StringUtils.isNotEmpty(date2)){
      			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      			try {
      				long dateToSecond1 = sdf.parse(date1).getTime();
      				long dateToSecond2 = sdf.parse(date2).getTime();
      				//升序
      				if (dateToSecond1 > dateToSecond2){
      					return 1;
      				}
      				//降序
      //				if (dateToSecond2 > dateToSecond1){
      //					return 1;
      //				}
      				if (dateToSecond2 == dateToSecond1){
      					return 0;
      				}
      				return -1;
      			}catch (Exception e){
      				e.printStackTrace();
      			}
      		}
      		return 0;
      	}
      });

       

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值