filter();方法将元素进行过滤 将一个流转换为另外一个子集流
对元素进行过滤只留下圆形的 同时生成的是一个新的流
Stream流中常用的方法 filter:用于对Stream流中的数据进行过滤 Stream<T> filter(Predicate <? super T> predicate); filter方法的参数Predicate是一个函数式接口,所以可以传递Lambda表达式,对数据进行过滤 Predicate中的抽象方法: boolean test<T t>;
package Demo20;
import java.util.stream.Stream;
/*
Stream流中常用的方法 filter:用于对Stream流中的数据进行过滤
Stream<T> filter(Predicate <? super T> predicate);
filter方法的参数Predicate是一个函数式接口,所以可以传递Lambda表达式,对数据进行过滤
Predicate中的抽象方法:
boolean test<T t>;
*/
public class Demo05filter {
public static void main(String[] args) {
//创建一个Stream流
Stream<String> stream = Stream.of("张三丰", "张无忌", "周芷若", "赵敏", "张翠山");
//对Stream流中的元素进行过滤只要姓张的人
Stream<String> stream2 = stream.filter((String name) -> {
return name.startsWith("张");
}); //注意这里之前看了filter过滤完元素后产生一个新的stream流
//遍历stream2
stream2.forEach((String name)->{
System.out.println(name);
});
}
}
输出