1.分组

通过groupingBy分组指定字段

list.stream().collect(Collectors.groupingBy(User::getSex));

2.过滤

通过filter方法过滤某些条件

list.stream().filter(a -> !a.getJobNumber().equals("201901")).collect(Collectors.toList());

3.求和

基本类型:先mapToInt,然后调用sum方法

List.stream().mapToInt(User::getAge).sum();

大数类型:reduce调用BigDecimal::add方法

List.stream().map(User::getFamilyMemberQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);

4.最值

最大值

List.stream().map(User::getEntryDate).max(Date::compareTo).get();

最小值

List.stream().map(User::getEntryDate).min(Date::compareTo).get();

5.排序

list.stream().sorted((o1, o2)->o1.getItem().getValue().

compareTo(o2.getItem().getValue())).

collect(Collectors.toList());

sort()

单字段排序,根据id排序list.sort(Comparator.comparing(Obj::getItem));

多字段排序,根据id,年龄排序list.sort(Comparator.comparing(Obj::getItem).thenComparing(Obj::getItem));

6.去重

通过distinct方法

List.stream().distinct().collect(Collectors.toList());

对属性

重写方法

7.获取list某个字段组装新list

List.stream().map(a -> a.getId()).collect(Collectors.toList());

lambda表达式 java求和_java 8 stream、lambda表达式对list操作分组、过滤、求和、最值、排序、去重...相关推荐

  1. java peek函数_Java 8 Stream Api 中的 peek 操作

    1. 前言 我在 Java 8 Stream API中的 map 和flatMap 中讲述了Java8 Stream API中 map 操作和 flatMap 操作的区别.然后有小伙伴告诉我 peek ...

  2. 表达式计算器 java代码_Java实现简单的表达式计算器功能示例

    本文实例讲述了Java实现简单的表达式计算器功能.分享给大家供大家参考,具体如下: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例 ...

  3. 四叶玫瑰花数java代码_Java 循环语句 四叶玫瑰数,奇数偶数求和

    课堂练习 :自己写的: class Demo_四叶玫瑰数{ public static void main(String[] args) { for(int i = 1000; i<=9999 ...

  4. java 矩阵求逆_java实现的顺时针/逆时针打印矩阵操作示例

    java实现的顺时针/逆时针打印矩阵操作.分享给大家供大家参考,具体如下: public class SnakeMatrix { /** * 定义矩阵的阶数 */ private int n; //填 ...

  5. 数字识别java开源_Java基于opencv实现图像数字识别(三)—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

  6. 循环遍历java属性_java中循环遍历实体类的属性和数据类型以及属性值

    package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...

  7. java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值

    正常情况下,在Java中入参是不建议用做返回值的.除了造成代码不易理解.语义不清等问题外,可能还埋下了陷阱等你入坑. 问题背景 比如有这么一段代码: @Named public class AServ ...

  8. java8 list map 分组_java8 List转Map,并进行分组过滤求和等操作

    定义实体类: public class Person { private String name; private Integer age; public Person() { } public Pe ...

  9. JAVA读取文件IO流写入H2_IO流中操作文件中的返回值数据格式有问题

    result里面的base64后面应该是冒号(:),现在我取不到base64的值.而且result的值是不是应该是个对象 :求解 { "fileName":"/stora ...

最新文章

  1. R语言dplyr包distinct函数去除重复数据行实战
  2. 实战(多图):旧路由器刷panabit系统!一台路由器的新生……
  3. Android RecyclerView DiffUtil
  4. 如何在Linux启动jar 包
  5. Bentley.Hammer.XM.v08.09.400.34 1CD(水锤和瞬态分析软件)好用版\
  6. android游戏flash插件下载,Flash Game Player Classic
  7. 个人职场工作感悟总结「如何尽快地提升自我」
  8. flutter从零开发完整好客租房App(已完结)
  9. 红米手机5A怎么卡刷开发版获取Root权限
  10. 怎么通过手机+电脑在互联网上面赚钱
  11. java怎么判断field类型_java技巧:反射判断field类型方法
  12. 网络服务器是指带有大容量硬盘的计算机,中国人民大学网络教育201812统考计算机模拟题...
  13. 微博直播场景下,如何实现百万并发的答题互动系统
  14. 双臂冗余机器人solidworks转URDF
  15. iOS VIPER 架构解读
  16. 蓝桥杯备赛笔记-规律题
  17. 北航计算机九推经验,前辈种树 | 工科九推经验贴
  18. 寻欢协议服务器,正式关闭服务器?官方客服电话已经无法接通!23年终要关站,曾是一代人逝去的青春...
  19. Day1-JSP的入门了解以及环境的配置Tomcat的注意点和一些常见问题的解决方案(适宜JSPServlet的初学者的学习)
  20. Python入门:Python变量和赋值

热门文章

  1. Python爬虫知识点四--scrapy框架
  2. python_百文买百鸡问题
  3. Transact-SQL 存储过程(c#调用执行)
  4. halcon三种模板匹配方法
  5. 《矩阵与变换》教学中的几个“务必”
  6. opencv 实现等值线_OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)...
  7. Framebuffer基础知识(三十)
  8. Android投屏利器vysor
  9. Android NuPlayer播放框架
  10. 无线网卡的Master,Managed,ad-hoc,monitor模式