![39731ee7fc30697de1f554a8aace281f.png](https://i-blog.csdnimg.cn/blog_migrate/77155a5ad91eeba0f0759a90970a3aa6.jpeg)
利用java8新特性,可以用简洁高效的代码来实现一些数据处理。
定义1个Apple对象:
public
添加一些测试数据:
List
1、分组
List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的放在一起:
//List 以ID分组 Map<Integer,List<Apple>>
2、List转Map
id为key,apple对象为value,可以这么做:
/**
打印appleMap
{
3、过滤Filter
从集合中过滤出来符合条件的元素:
//过滤出符合条件的数据
4、求和
将集合中的数据按照某个属性求和:
//计算 总金额
5、查找流中最大 最小值
Collectors.maxBy 和 Collectors.minBy 来计算流中的最大或最小值。搜索Java知音公众号,回复“后端面试”,送你一份Java面试题宝典
Optional
6、去重
import static
下表展示 Collectors 类的静态工厂方法。
![48f9af60fc266482c0cd6f01dda0fe19.png](https://i-blog.csdnimg.cn/blog_migrate/1588c2867b7ebe46b95848abe2d20079.jpeg)
原作者:IT小白_L
原文链接:java8 快速实现List转map 、分组、过滤等操作
原出处:csdn
侵删
![084d69539422dc5480dd9e638fb4be66.gif](https://i-blog.csdnimg.cn/blog_migrate/bffd814b957a658b1dc7b2f7eac8a090.gif)