zoukankan      html  css  js  c++  java
  • Java8 使用 stream().sorted()对List集合进行排序

    public static void main(String[] args){
    TGoodsInfo tGoodsInfo1 = new TGoodsInfo();
    tGoodsInfo1.setExpendIntegral(0);//积分大小
    tGoodsInfo1.setUpdatedTime(DateUtil.getHalfYearStartTime(new Date()));//时间
    TGoodsInfo tGoodsInfo2 = new TGoodsInfo();
    tGoodsInfo2.setExpendIntegral(3);
    tGoodsInfo2.setUpdatedTime(new Date());
    TGoodsInfo tGoodsInfo3 = new TGoodsInfo();
    tGoodsInfo3.setExpendIntegral(3);
    tGoodsInfo3.setUpdatedTime(DateUtil.getHalfYearEndTime(new Date()));
    TGoodsInfo tGoodsInfo4 = new TGoodsInfo();
    tGoodsInfo4.setExpendIntegral(4);
    tGoodsInfo4.setUpdatedTime(DateUtil.getHalfYearEndTime(new Date()));
    List<TGoodsInfo> result = new ArrayList <>();
    result.add(tGoodsInfo4);
    result.add(tGoodsInfo1);
    result.add(tGoodsInfo2);
    result.add(tGoodsInfo3);

    • 按照 积分和时间倒排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral).
    thenComparing(TGoodsInfo::getUpdatedTime).reversed())
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }

    • 按照 积分和时间正排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral).
    thenComparing(TGoodsInfo::getUpdatedTime))
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }

    • 按照 积分正排序和时间倒排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral).reversed().
    thenComparing(TGoodsInfo::getUpdatedTime).reversed())
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }

    • 按照 积分到排序和时间正排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral).reversed())
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }

    • 按照积分到排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral).reversed())
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }

    • 按照积分正排序

    result = result.stream().sorted(
    Comparator.comparing(TGoodsInfo::getExpendIntegral))
    .collect(Collectors.toList());
    for (TGoodsInfo tGoodsInfo : result) {
    System.out.println(tGoodsInfo);
    }
    }

  • 相关阅读:
    msfvenom生成不同类型shell
    (CVE-2021-21972) VM vCenter任意文件上传漏洞复现
    linux新建普通账户并添加密码
    Linux监控平台、安装zabbix、修改zabbix的admin密码
    LVS DR模式搭建、keepalived+lvs
    负载均衡集群相关、LVS介绍、LVS调度算法、LVS NAT模式搭建
    集群相关、用keepalived配置高可用集群
    MySQL主从、环境搭建、主从配制
    Tomcat配置虚拟主机、tomcat的日志
    Tomcat介绍、安装jdk、安装Tomcat、配置Tomcat监听80端口
  • 原文地址:https://www.cnblogs.com/fjl0418/p/15245911.html
Copyright © 2011-2022 走看看