其他分享
首页 > 其他分享> > Stream流中的常用方法_filter和Stream流的特点_只能使用一次

Stream流中的常用方法_filter和Stream流的特点_只能使用一次

作者:互联网

Stream流中的常用方法_filter  

  Stream流中的常用方法_filter:用于对Stream流中的数据进行过滤

  Stream<T> filter(Predicate<? super T> predicate);

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

  Predicate中的抽象方法:

  boolean test(T t);

代码实现:

//创建一个Stream流
        Stream<String> stream = Stream.of("张三", "李四", "王五", "赵六", "李强");
        //对Stream流中的元素进行过滤,只要姓张的人
        Stream<String> stream1 = stream.filter((String name) -> {
            return name.startsWith("张");
        });
        //遍历stream2流
        stream1.forEach(name-> System.out.println(name));

 

 

 

 

 

Stream流的特点_只能使用一次

 

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

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

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

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

 

代码实现:

 //管道流
        //遍历stream流
        stream.forEach(name-> System.out.println(name));

搜索

复制

标签:Stream,Predicate,name,stream,流中,filter
来源: https://www.cnblogs.com/12-12-12/p/16501046.html