JDK8 Stream操作整理
1,forEach
this.quoteItemList.forEach(p -> p.setMode(mode));
2,获取对话属性,去重后生成集合
List<String> projects = this.quoteItemList.stream().map(p -> p.getVersion()).distinct().collect(Collectors.toList());
3,过滤后汇总
double totalRealManDay = this.quoteItemList.stream().filter(p -> p.getAssignee().equals(person.getName())).mapToDouble(p -> p.getSpend()).sum() ;
sum可以改成count等其它函数
4,排序号取第一个
ProfitResult monthResult = calcResult.stream().sorted(Comparable::compareTo).filter(p -> p.getPeriod().equals(period)).findAny().get();
if (monthResult != null) {
}
5,分组统计转成Map
Map<String, Double> monthMap = this.data.stream().filter(p -> p.getVersion().equals(project)).collect(
Collectors.groupingBy(QuoteItem::getFinishMonth, Collectors.summingDouble(QuoteItem::getEstimate))
);
6,分页获取
//取出一页数据的id列表
List<String> ids = list.stream().skip((findDoctorVo.getPage() -1) * findDoctorVo.getPagesize())
.limit(findDoctorVo.getPagesize())
.map(TeamVo::getTeamId)
.collect(Collectors.toList());
7,转换成其它对象
方式一:
List<SessionListVo> newList = list.stream().map(SessionListVo::new).collect(Collectors.toList());
方式二:
List<SellInfo> saleList = list.stream().filter(p->p.saleValid()).map(info->{
SellInfo item = new SellInfo();
item.setProductName(info.getGoodsname());
return item;
}).collect(Collectors.toList());
8,查询并拼接
String newTags = tags.stream().filter((p) -> !p.equals(this.defaultTag)).collect(Collectors.joining(this.SPLITER));
JDK8 Stream操作整理的更多相关文章
- 【Java】【6】JDK8 Stream操作整理
摘要: 1,List<EntityOld>转换为List<EntityNew> List<EntityOld> list = oldList; List<En ...
- 大型网站技术架构(四)--核心架构要素 开启mac上印象笔记的代码块 大型网站技术架构(三)--架构模式 JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
大型网站技术架构(四)--核心架构要素 作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载.此篇已收录至<大型网站技 ...
- JDK8 Stream 数据流效率分析
JDK8 Stream 数据流效率分析 Stream 是Java SE 8类库中新增的关键抽象,它被定义于 java.util.stream (这个包里有若干流类型: Stream<T> ...
- SQL不同服务器数据库之间的数据操作整理(完整版)
---------------------------------------------------------------------------------- -- Author : htl25 ...
- 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .
---------------------------------------------------------------------------------- -- Author : htl25 ...
- c#常见stream操作
原文: c#常见stream操作 常见并常用的stream一共有 文件流(FileStream), 内存流(MemoryStream), 压缩流(GZipStream), 加密流(CrypToStre ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- java8 Stream操作
Stream操作详解:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/#icomments
- SVG.js 元素操作整理(二)-Transform
一.transform()获取或设置矩阵变换 var draw = SVG('svg1').size(300, 300); //Transforming SVG元素矩阵变换 var rect = dr ...
随机推荐
- 加载Assetbundle需要注意的地方
WWW:异步实现,手机上不能用于同步代码,需要监测其完成状态.不用www.dispose. CreateFromFile:阻塞,但是移动平台上面的路径格式有点坑,没时间看,不用. 以下两个方式需要先使 ...
- MyCat-简介
一MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : corba. 是阿里开发的数据库中间件.实现M ...
- BZOJ.4299.Codechef FRBSUM(主席树)
题目链接 记mx为最大的满足1~mx都能组成的数. 考虑当前能构成1~v中的所有数,再加入一个数x,若x>v+1,则mx=v,x不会产生影响:否则x<=v+1,则新的mx=x+v. 对于区 ...
- express 遇到问题 - Error: Can't set headers after they are sent
在node配合mongodb,链接数据库,查询所有数据2步操作,都有响应数据返回是会出现 Error: Can't set headers after they are sent,的报错 故障原因:引 ...
- BZOJ5254 : [Fjwc2018]红绿灯
显然所有询问都要经过至少$\sum d$,只需要考虑除了$\sum d$之外的等待红灯的时间. 将所有询问的时间模$g+r$,并按时间用set维护. 那么对于每个红灯,在set中可以找出$1$到$2$ ...
- h5中不能用js来直接获取网络码和机器码的。
h5中不能用js来获取mac的.是可以获取ip的.代码 <script>var fso = new ActiveXObject("Scripting.FileSystemObj ...
- GMA Round 1 最短距离
传送门 最短距离 在椭圆C:$\frac{x^2}{20^2}+\frac{y^2}{18^2}=1$上作两条相互垂直的切线,切线交点为P,求P到椭圆C的最短距离.结果保留6位小数. 设椭圆方程:$\ ...
- Java当中的异常2
1.throw的作用 如果一行有可能代码抛出Execption对象或者check exception 就必须对这行代码进行处理 2.throws的作用 Throws表明这个类或者方法可能会产生一个指定 ...
- 使用ngnix做服务器的负载均衡
(1) 进程数与每个进程的最大连接数: nginx进程数,建议设置为等于CPU总核心数 单个进程最大连接数,那么该服务器的最大连接数=连接数*进程数 (2) Ngnix的基本配置 监听端口一般都为h ...
- Myeclipse的使用技巧
1.1.MyEclipse自定义注释 一.修改进入路径: Window->Preference->Java->Code Style->Code Template-> ...