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);
}
}