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 @ 2022-07-24 09:21  一位程序袁  阅读(409)  评论(0编辑  收藏  举报