sum求和

   int nostartNum = 0, proceNum = 0, doneNum = 0, delayNum = 0;
if (tasks != null) {// 创建时间在本周,状态为待处理nostartNum = tasks.stream().filter(task -> Func.equals(task.getStatus(), CommonConstant.task_status.created) && task.getCreateTime() != null && task.getCreateTime() > start && task.getCreateTime() < end).mapToInt(task -> 1).sum();// 创建时间在本周,状态为进行中proceNum = tasks.stream().filter(task -> Func.equals(task.getStatus(), CommonConstant.task_status.processing) && task.getCreateTime() != null && task.getCreateTime() > start && task.getCreateTime() < end).mapToInt(task -> 1).sum();// 完成时间在本周,状态为已完成doneNum = tasks.stream().filter(task -> Func.equals(task.getStatus(), CommonConstant.task_status.finished) && task.getDoneTime() != null && task.getDoneTime() > start && task.getDoneTime() < end).mapToInt(task -> 1).sum();//到期时间在本周,状态为进行中或待处理delayNum = tasks.stream().filter(task -> Stream.of(CommonConstant.task_status.created, CommonConstant.task_status.processing).collect(Collectors.toList()).contains(task.getStatus()) && task.getDueTime() != null && task.getDueTime() <= end).mapToInt(task -> 1).sum();}

filter过滤

      Map<String, Double> priceMap = staffs.stream().map(staff -> {DeptTitle title = titleMap.get(staff.getTitle());if (title != null) title.setId(staff.getId());return title;}).filter(Objects::nonNull).collect(Collectors.toMap(DeptTitle::getId, DeptTitle::getUnitprice));Map<String, Long> map = children.stream().filter(Objects::nonNull).filter(task -> StringUtil.isNoneBlank(task.getPersonId())).filter(task -> task.getStartTime() != null).collect(Collectors.toMap(ProjectTask::getPersonId, ProjectTask::getStartTime, Math::min));

JAVA8的一些写法相关推荐

  1. java8 Map新增方法的使用

    文章目录 文章目录 文章目录 java8 Map新增方法的使用 概述 1.compute() 1.使用 2.源码实现 2.computeIfAbsent() 1.使用 2.源码 3.computeIf ...

  2. 比较全的 Java8 9 lambda 应用

    Java8 9 lambda 学习笔记 /*** 引用类型的赋值是将原来的地址给了另一个引用,它们指向的地址是同一个,如果修改了其中一个,那么就会影响另一个.* 如果我们需要切断两者的联系,可以采用 ...

  3. java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)(1)

    return new CollectorImpl<CharSequence, StringBuilder, String>( StringBuilder::new, StringBuild ...

  4. 如何更优雅的使用 Java8 进行分组(尤其是多个字段的组合分组)。

    在SQL中经常会用到分组,我们也常常遇到一些组合分组的场景. 有下面的一个User类 import lombok.Builder; import lombok.Data; import java.ti ...

  5. java计算24小时之内_java的系统时间,怎么计算从现在到凌晨还剩下多少时间?

    Apache commons-lang3 long milliSecondsLeftToday = 86400000 -DateUtils.getFragmentInMilliseconds(Cale ...

  6. Android弹窗组件工作机制之Dialog、DialogFragment(二)

    二.Dialog的消失 1.dismiss private final Runnable mDismissAction = this::dismissDialog;public void dismis ...

  7. RecursiveTask和RecursiveAction的使用 以及java 8 并行流和顺序流

    转载自 https://blog.csdn.net/weixin_41404773/article/details/80733324 什么是Fork/Join框架         Fork/Join框 ...

  8. java9特性_96.java基础10(java9/10/11新特性)

    126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...

  9. java获取一天的起止时间

    Calendar calendar = new GregorianCalendar();// 0可以修改,0代表当前时间,-1代表前一天calendar.add(Calendar.DAY_OF_MON ...

  10. 《Java 8 实战》学习笔记

    Java 8 学习笔记 整理自<Java8实战>一书 断断续续半年没有更新了,每次只能写一点然后保存为草稿.因为一直在忙着写毕业论文,过几个月又要上班了,所以趁着这几个月多更新一点基础,等 ...

最新文章

  1. java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
  2. Linux shell 读取一行
  3. [转]我们需要IQ吗?--敬以此文献给和我一样迷茫,浮躁的人,共勉!
  4. 洛谷-小鱼的游泳时间-洛谷的第一个任务
  5. vue从入门到进阶:自定义指令directive,插件的封装以及混合mixins(七)
  6. 自定义xy组 android,Android自定义view之仿支付宝芝麻信用仪表盘示例
  7. $.ajax 同步一不,ajax 同步不生效
  8. centos 7 vs centos6 的不同
  9. java.lang.UnsatifiedLinkError错误一例:在eclipse中启动应用报错
  10. cvEqualizeHist() 直方图均衡化(单通道)
  11. ZPLII 指令参考
  12. 制作可启动DOS优盘
  13. 自定义智能报表系统内容准备:基于WEB的SBO数据结构浏览器
  14. java int 运算符,java中各种运算符
  15. [CTF]-NepCTF2022
  16. YYDS!迅雷的代码结构,竟然被大佬“扒了精光”!
  17. PostgreSQL on Linux 最佳部署手册
  18. mybatis查询更新
  19. vue element-ui的嵌套dialog遮罩层
  20. ps2021直装版|ps2021中文直装版 v22.0.0.35附安装教程

热门文章

  1. QueryDSL 大于、小于、大于等于、小于等于、等于、不等于方法
  2. Ubuntu下 百度在线语音合成使用
  3. 在利用计算机高级语言进行,2016计算机一级考试多选题专项训练及答案
  4. 上周回顾:DNS漏洞被泄 华为辞职门再起风波
  5. Win10下安装配置使用WSL2
  6. Burp suite - Burp Clickbandit
  7. linux notifier chains机制
  8. 【ICPC-457】数学笔记
  9. Docker——Dockerfile 介绍和使用
  10. 剑指Offer 46.把数字翻译成字符串(Python)