Stream流
Lambda函数式编程,解决集合类带来的弊端
Lambda让我们关注做什么而不是怎么做,for循环语法是怎么做,for循环内容是做什么
流的模型,从一个流转换为另一个流,函数模型,每一个框都是一个“流”,右侧的数字3是最终结果。
其中filter,map,skip
都是在对函数模型操作,集合元素没有改变,只有最终方法count
执行时,模型才会按策略执行,得益于Lambda的延迟执行特性。
数据源:可以是集合也可以是数组
内部迭代:自带forEach
方法
**使用流的步骤:**获取数据源-》数据转换-》执行操作
==例子:==用户对象
@Data
@AllArgsConstructor
public class User {
private String name;
private Integer age;
}
获取 年龄是偶数 / 且大于20岁 / 用户名变为大写字母 / 用户字母倒着排序 / 指数出一个用户
@Test
public void testStream(){
User a = new User("a", 18);
User b = new User("b", 23);
User c = new User("c", 22);
User d = <