Stream中的常用方法_filter、 Stream的特点,只能使用一次

Stream中的常用方法_filter

filter方法的参数Peredicate是一个函数式接口,所以可以传递Lambda表达式,对数据进行过滤

Predicate中的抽象方法:

  boolean test(T t)

案例:

  

    public static void main(String[] args) {
Stream<String> aa = Stream.of("大傻", "张山", "ccc");
// 对流中的参数进行过滤
Stream<String> stream = aa.filter(s -> {
return s.startsWith("张");
});
stream.forEach(System.out::println);


}
}

运行结果:

 

 Stream的特点,只能使用一次

Stream流属于管道流,只能消费一次

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

第一个流使用完毕就会关闭

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

    public static void main(String[] args) {
Stream<String> aa = Stream.of("大傻", "张山", "ccc");
// 对流中的参数进行过滤
// 返回一个新的流接受
Stream<String> stream = aa.filter(s -> {
return s.startsWith("张");
});
// 遍历新的流
stream.forEach(System.out::println);
}
}

 

posted @   一位程序袁  阅读(418)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示