首页 > 其他 > 详细

Stream流

时间:2020-05-16 22:52:59      阅读:41      评论:0      收藏:0      [点我收藏+]

1、Stream流属于管道流,只能被消费一次,不论中间调用了多少个Stream流的方法,其中消费类型的方法只有一个且只能在最后调用

// 如下代码编译失败,forEach会消费类型的方法,后面不能再调用任何类型的Stream流方法

@Test
public void test3() {
    // 原始Stream流
    Stream<String> st1 = Stream.of("张三","张无忌","赵敏","张三丰","周芷若");
    st1.filter(name -> name.startsWith("张"))
            .filter(name -> name.length() == 3)
            .forEach(name -> System.out.println(name))
            .forEach(name -> System.out.println(name));
}

2、前一个Stream流调用完毕后数据会流转到下一个Stream流,此时前一个Stream流已经使用完毕就会关闭,因此Stream流只能调用一次Stream流方法

// 如下代码中Stream流st1被调用了2次了,会抛出运行时异常

技术分享图片

@Test
public void test4() {
    // 原始Stream流
    Stream<String> st1 = Stream.of("张三","张无忌","赵敏","张三丰","周芷若");
    st1.filter(name -> name.startsWith("张"));
    st1.filter(name -> name.length() == 3);
}

 

Stream流

原文:https://www.cnblogs.com/liuyang-520/p/12902534.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!