Java 8 Stream实践
来源:互联网
【**前面的话**】Java中的Stream于1.8版本析出,平时项目中也有用到,今天就体系的来实践一下。下面借用重庆力帆队伍中我个人比拟爱好的球员来操作一波,队员的年纪为了便于展现某些api做了调剂,请不要太认真哦。
***
# 壹. Stream懂得
在java中我们称Stream为『**流**』,我们常常会用流去对聚集进行一些流水线的操作。stream就像工厂一样,只须要把聚集、命令还有一些参数灌输到流水线中去,便可以够加工成得出想要的成果。这样的流水线能大大简练代码,减少操作。给我个人的感到相似JavaScript中的链式函数。
# 贰. Stream流程
```java
原聚集 —> 流 —> 各种操作(过滤、分组、统计) —> 终端操作
```
Stream流的操作流程一般都是这样的,先将聚集转为流,然后经过各种操作,比如过滤、挑选、分组、盘算。最后的终端操作,就是转化成我们想要的数据,这个数据的情势一般还是聚集,有时也会依照需求输出count计数。下文会逐一举例。
# 叁. API实践
首先,定义一个用户对象,包括姓名、年纪、id三个成员变量:
```java
package com.eelve.training.entity;
import lombok.*;
import javax.persistence.*;
/**
* @ClassName User
* @Description TDO
* @Author zhao.zhilue
* @Date 2019/6/28 15:21
* @Version 1.0
**/
@Data
@Entity
@Table(name = "user")
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(exclude={"id","name"})
public class User implements Comparable【**前面的话**】Java中的Stream于1.8版本析出,平时项目中也有用到,今天就体系的来实践