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操作整理相关推荐

  1. JDK8 Stream操作 collectingAndThen:根据对象的属性去重

    来源:blog.csdn.net/qq_35634181/article/details/108867857 ExportTemperatureDto实体对象: @Getter @Setter @To ...

  2. JDK8 Stream 操作

    stream reduce返回计算流的聚合结果,平均.最大.小值,求和. 测试类: import java.math.BigDecimal; import java.util.ArrayList; i ...

  3. JDK8的Stream操作你还不会用吗?

    Stream介绍 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象.Stream API可以极大提高Java程序员的生产力,让程序员 ...

  4. JDK8 Stream 效率如何?

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:Al_assad 链接: ...

  5. JDK8 stream API,并行API的适用场合

    jdk8stream创建/中间操作/终止操作api public static void main(String[] args) {//流的创建:可以通过Array/List/Set的stream() ...

  6. jdk8 stream

    JDK8 Stream详解 概念 Stream是Java8 API的新成员,它允许以声明性方式处理数据集合 . 特点 (1)代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告 ...

  7. java8中 lambda表达式,stream操作

    什么是lambda表达式 概念:Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda ab ...

  8. JDK8 Stream 数据流效率分析

    JDK8 Stream 数据流效率分析 Stream 是Java SE 8类库中新增的关键抽象,它被定义于 java.util.stream (这个包里有若干流类型: Stream<T> ...

  9. 【Android 插件化】Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

最新文章

  1. 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
  2. qt调用linux系统的线程函数吗,Qt之主线程与子线程通讯(linux下)
  3. Windows 10 Anaconda Python 3.7 安装 MXNet GPU版
  4. 杭州优步uber司机第三组奖励政策
  5. 抓包工具Stream之接口调试和加密解码(二)
  6. 学计算机的人玩什么游戏,亲戚眼中的大学专业:学的计算机啊,游戏打的肯定贼好吧...
  7. 【SDK】Memory read error at 0xF8007080
  8. 制作漫画风图片(无需下载APP无需PS无需电脑)
  9. Windows进程同步之事件内核对象(Event)
  10. 【Android游戏开发二十】物理游戏之重力系统开发,让你的游戏变得有质有量!...
  11. 蓝桥杯2018年第九届C/C++省赛A组第二题-星期一
  12. 智能优化算法:材料生成优化算法-附代码
  13. StanfordDB class自学笔记 (12) Constraints and Triggers
  14. android soundpool 封装,Android 音频播放之SoundPool的使用和封装
  15. 万恶淫为首,你想知道的真相!
  16. 上架Google Play Store,国内这些SDK千万不能用,小心被拒!
  17. 【DBeaver】安装与使用教程
  18. 情人节用Python画玫瑰花
  19. dnn解读_论文学习+解读1--受优化算法启发的DNN网络设计
  20. linux设备模型--sysfs

热门文章

  1. JavaScript学习(二十八)—事件冒泡和事件捕获
  2. 详解用backgroundImage解决图片轮播切换
  3. linux多个文件打包命令行,linux命令五十七之tar命令;linux多个文件压缩打包到一个压缩文件...
  4. python zip用法_Python zip()用法及代码示例
  5. 怎么让无线网络共享打印机设置
  6. 临牌过期保险能理赔吗?
  7. 一些人一旦离开原来的单位,就不爱再去了,是为什么?
  8. 跳绳减肥每天多少下有效?正确跳绳姿势是什么?
  9. 装修的九大风格,快来看看哪种适合你
  10. 为什么电商越来越难做了?