Stream流的特点只能使用一次

这篇博客探讨了Java中的Stream流特性,强调Stream只能被消费一次。通过示例代码展示了如何创建并使用Stream流进行数据过滤,一旦调用forEach等终端操作,流将关闭,无法再次执行其他方法。理解这一概念对于有效使用Java Stream API至关重要。
摘要由CSDN通过智能技术生成

Stream流属于管道流,只能被消费(使用)一次

第一个stream流调用完毕方法,数据就会流转到下一个Stream上

而这时第一个stream流已经使用完毕,就会关闭了

所以第一个Stream流就不能再调用方法


import java.util.function.Predicate;
import java.util.stream.Stream;

//supplier接口 获取一个指定类型的数据或数值
public class FuXi2 {

    //
// 总结:
// filter方法用来对Stream流中的数据进行过滤, 它的方法参数是一个predicate函数式接口可以使用lambda表达式
//    predicate中的accept方法
//    public boolean test(String s) {
//        return false;
//    }
    public static void main(String[] args) {
        Stream<String> stringStream = Stream.of("1", "2", "3", "4");//创建String类型的流对象集合
        Stream<String> stringStream1 = stringStream.filter((i) -> {
            return i.startsWith("1");
        });//调用filter方法对里面的的内容进行过滤,重写过滤方法 如果判断式true则保留反之删除
        stringStream.forEach(k-> System.out.println(k));//此流已经使用过 使用一次就关闭了 无法再执行其他方法


    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值