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));
转载于:https://www.cnblogs.com/season2009/p/10245651.html
JDK8 Stream操作整理相关推荐
- JDK8 Stream操作 collectingAndThen:根据对象的属性去重
来源:blog.csdn.net/qq_35634181/article/details/108867857 ExportTemperatureDto实体对象: @Getter @Setter @To ...
- JDK8 Stream 操作
stream reduce返回计算流的聚合结果,平均.最大.小值,求和. 测试类: import java.math.BigDecimal; import java.util.ArrayList; i ...
- JDK8的Stream操作你还不会用吗?
Stream介绍 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象.Stream API可以极大提高Java程序员的生产力,让程序员 ...
- JDK8 Stream 效率如何?
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:Al_assad 链接: ...
- JDK8 stream API,并行API的适用场合
jdk8stream创建/中间操作/终止操作api public static void main(String[] args) {//流的创建:可以通过Array/List/Set的stream() ...
- jdk8 stream
JDK8 Stream详解 概念 Stream是Java8 API的新成员,它允许以声明性方式处理数据集合 . 特点 (1)代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告 ...
- java8中 lambda表达式,stream操作
什么是lambda表达式 概念:Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda ab ...
- JDK8 Stream 数据流效率分析
JDK8 Stream 数据流效率分析 Stream 是Java SE 8类库中新增的关键抽象,它被定义于 java.util.stream (这个包里有若干流类型: Stream<T> ...
- 【Android 插件化】Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
最新文章
- 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
- qt调用linux系统的线程函数吗,Qt之主线程与子线程通讯(linux下)
- Windows 10 Anaconda Python 3.7 安装 MXNet GPU版
- 杭州优步uber司机第三组奖励政策
- 抓包工具Stream之接口调试和加密解码(二)
- 学计算机的人玩什么游戏,亲戚眼中的大学专业:学的计算机啊,游戏打的肯定贼好吧...
- 【SDK】Memory read error at 0xF8007080
- 制作漫画风图片(无需下载APP无需PS无需电脑)
- Windows进程同步之事件内核对象(Event)
- 【Android游戏开发二十】物理游戏之重力系统开发,让你的游戏变得有质有量!...
- 蓝桥杯2018年第九届C/C++省赛A组第二题-星期一
- 智能优化算法:材料生成优化算法-附代码
- StanfordDB class自学笔记 (12) Constraints and Triggers
- android soundpool 封装,Android 音频播放之SoundPool的使用和封装
- 万恶淫为首,你想知道的真相!
- 上架Google Play Store,国内这些SDK千万不能用,小心被拒!
- 【DBeaver】安装与使用教程
- 情人节用Python画玫瑰花
- dnn解读_论文学习+解读1--受优化算法启发的DNN网络设计
- linux设备模型--sysfs