JAVA8的一些写法
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的一些写法相关推荐
- java8 Map新增方法的使用
文章目录 文章目录 文章目录 java8 Map新增方法的使用 概述 1.compute() 1.使用 2.源码实现 2.computeIfAbsent() 1.使用 2.源码 3.computeIf ...
- 比较全的 Java8 9 lambda 应用
Java8 9 lambda 学习笔记 /*** 引用类型的赋值是将原来的地址给了另一个引用,它们指向的地址是同一个,如果修改了其中一个,那么就会影响另一个.* 如果我们需要切断两者的联系,可以采用 ...
- java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)(1)
return new CollectorImpl<CharSequence, StringBuilder, String>( StringBuilder::new, StringBuild ...
- 如何更优雅的使用 Java8 进行分组(尤其是多个字段的组合分组)。
在SQL中经常会用到分组,我们也常常遇到一些组合分组的场景. 有下面的一个User类 import lombok.Builder; import lombok.Data; import java.ti ...
- java计算24小时之内_java的系统时间,怎么计算从现在到凌晨还剩下多少时间?
Apache commons-lang3 long milliSecondsLeftToday = 86400000 -DateUtils.getFragmentInMilliseconds(Cale ...
- Android弹窗组件工作机制之Dialog、DialogFragment(二)
二.Dialog的消失 1.dismiss private final Runnable mDismissAction = this::dismissDialog;public void dismis ...
- RecursiveTask和RecursiveAction的使用 以及java 8 并行流和顺序流
转载自 https://blog.csdn.net/weixin_41404773/article/details/80733324 什么是Fork/Join框架 Fork/Join框 ...
- java9特性_96.java基础10(java9/10/11新特性)
126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...
- java获取一天的起止时间
Calendar calendar = new GregorianCalendar();// 0可以修改,0代表当前时间,-1代表前一天calendar.add(Calendar.DAY_OF_MON ...
- 《Java 8 实战》学习笔记
Java 8 学习笔记 整理自<Java8实战>一书 断断续续半年没有更新了,每次只能写一点然后保存为草稿.因为一直在忙着写毕业论文,过几个月又要上班了,所以趁着这几个月多更新一点基础,等 ...
最新文章
- java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
- Linux shell 读取一行
- [转]我们需要IQ吗?--敬以此文献给和我一样迷茫,浮躁的人,共勉!
- 洛谷-小鱼的游泳时间-洛谷的第一个任务
- vue从入门到进阶:自定义指令directive,插件的封装以及混合mixins(七)
- 自定义xy组 android,Android自定义view之仿支付宝芝麻信用仪表盘示例
- $.ajax 同步一不,ajax 同步不生效
- centos 7 vs centos6 的不同
- java.lang.UnsatifiedLinkError错误一例:在eclipse中启动应用报错
- cvEqualizeHist() 直方图均衡化(单通道)
- ZPLII 指令参考
- 制作可启动DOS优盘
- 自定义智能报表系统内容准备:基于WEB的SBO数据结构浏览器
- java int 运算符,java中各种运算符
- [CTF]-NepCTF2022
- YYDS!迅雷的代码结构,竟然被大佬“扒了精光”!
- PostgreSQL on Linux 最佳部署手册
- mybatis查询更新
- vue element-ui的嵌套dialog遮罩层
- ps2021直装版|ps2021中文直装版 v22.0.0.35附安装教程