lambda表达式 java求和_java 8 stream、lambda表达式对list操作分组、过滤、求和、最值、排序、去重...
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操作分组、过滤、求和、最值、排序、去重...相关推荐
- java peek函数_Java 8 Stream Api 中的 peek 操作
1. 前言 我在 Java 8 Stream API中的 map 和flatMap 中讲述了Java8 Stream API中 map 操作和 flatMap 操作的区别.然后有小伙伴告诉我 peek ...
- 表达式计算器 java代码_Java实现简单的表达式计算器功能示例
本文实例讲述了Java实现简单的表达式计算器功能.分享给大家供大家参考,具体如下: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例 ...
- 四叶玫瑰花数java代码_Java 循环语句 四叶玫瑰数,奇数偶数求和
课堂练习 :自己写的: class Demo_四叶玫瑰数{ public static void main(String[] args) { for(int i = 1000; i<=9999 ...
- java 矩阵求逆_java实现的顺时针/逆时针打印矩阵操作示例
java实现的顺时针/逆时针打印矩阵操作.分享给大家供大家参考,具体如下: public class SnakeMatrix { /** * 定义矩阵的阶数 */ private int n; //填 ...
- 数字识别java开源_Java基于opencv实现图像数字识别(三)—灰度化和二值化
Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...
- 循环遍历java属性_java中循环遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...
- java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值
正常情况下,在Java中入参是不建议用做返回值的.除了造成代码不易理解.语义不清等问题外,可能还埋下了陷阱等你入坑. 问题背景 比如有这么一段代码: @Named public class AServ ...
- java8 list map 分组_java8 List转Map,并进行分组过滤求和等操作
定义实体类: public class Person { private String name; private Integer age; public Person() { } public Pe ...
- JAVA读取文件IO流写入H2_IO流中操作文件中的返回值数据格式有问题
result里面的base64后面应该是冒号(:),现在我取不到base64的值.而且result的值是不是应该是个对象 :求解 { "fileName":"/stora ...
最新文章
- R语言dplyr包distinct函数去除重复数据行实战
- 实战(多图):旧路由器刷panabit系统!一台路由器的新生……
- Android RecyclerView DiffUtil
- 如何在Linux启动jar 包
- Bentley.Hammer.XM.v08.09.400.34 1CD(水锤和瞬态分析软件)好用版\
- android游戏flash插件下载,Flash Game Player Classic
- 个人职场工作感悟总结「如何尽快地提升自我」
- flutter从零开发完整好客租房App(已完结)
- 红米手机5A怎么卡刷开发版获取Root权限
- 怎么通过手机+电脑在互联网上面赚钱
- java怎么判断field类型_java技巧:反射判断field类型方法
- 网络服务器是指带有大容量硬盘的计算机,中国人民大学网络教育201812统考计算机模拟题...
- 微博直播场景下,如何实现百万并发的答题互动系统
- 双臂冗余机器人solidworks转URDF
- iOS VIPER 架构解读
- 蓝桥杯备赛笔记-规律题
- 北航计算机九推经验,前辈种树 | 工科九推经验贴
- 寻欢协议服务器,正式关闭服务器?官方客服电话已经无法接通!23年终要关站,曾是一代人逝去的青春...
- Day1-JSP的入门了解以及环境的配置Tomcat的注意点和一些常见问题的解决方案(适宜JSPServlet的初学者的学习)
- Python入门:Python变量和赋值
热门文章
- Python爬虫知识点四--scrapy框架
- python_百文买百鸡问题
- Transact-SQL 存储过程(c#调用执行)
- halcon三种模板匹配方法
- 《矩阵与变换》教学中的几个“务必”
- opencv 实现等值线_OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)...
- Framebuffer基础知识(三十)
- Android投屏利器vysor
- Android NuPlayer播放框架
- 无线网卡的Master,Managed,ad-hoc,monitor模式