Java8实战之(三)引入流

在这里插入图片描述

3.1 流是什么

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(1)代码是以声明性方式写的,说明想要完成什么,而不是说明如何实现一个操作(if条件控制语句)
(2)你可以把几个基础操作连接起来,来表达复杂的数据处理流水线(在filter后加上sorted,map,collect操作,如图4-1所示),同时保持代码清晰可见。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结一下,Java8中的Stream可以让你写出这样的代码
(1)声明性—更简洁,更易读
(2)可复合–更灵活
(3)可并行----性能更好
在本章剩下的部分和下一章中,我们会使用这样一个例子:一个menu,它只是一张菜肴列表。

package com.java.lamdba.third;

/**
 * 菜肴
 */
public class Dish {

    private final String name;
    private final boolean vegetarian;
    private final int calories;
    private final Type type;
    public Dish(String name, boolean vegetarian, int calories, Type type) {
        this.name = name;
        this.vegetarian = vegetarian;
        this.calories = calories;
        this.type = type;
    }
    public enum Type { MEAT, FISH, OTHER }
}

在这里插入图片描述

3.2 流简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3流与集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3.1 只能遍历一次

在这里插入图片描述
如果再遍历,则会抛出异常,所以记住,流只能消费一次
在这里插入图片描述

3.3.2 外部迭代与内部迭代

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 流操作

在这里插入图片描述

3.4.1 中间操作

在这里插入图片描述
在这里插入图片描述

3.4.2 终端操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.3 使用流

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 小结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值