Stream流的特点以及常用方法map

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

Stream流属于管道流,只能被消费(使用)一次 第一个Stream流调用完毕方法,

数据就会流转到下一个Stream上 而这时第一个Stream流已经使用完毕,

就会关闭了 所以第一个Stream流就不能调用方法了

复制代码
    public static void main(String[] args) {
        //创建一个Stream流
        Stream<String> stream = Stream.of("张无忌", "周芷若", "赵敏", "张强", "张三丰");
        //对Stream流中的元素进行过滤,只要姓张的
        Stream<String> stream1 = stream.filter((String name) -> {
            return name.startsWith("张");
        });
        //遍历Stream流
        stream1.forEach(name-> System.out.println(name));
    }
复制代码

在这段代码中第一个Stream流调用filter方法后就已经关闭了,如果再调用forEach方法就会产生异常

 

 

 

 

 

 

 

Stream流的常用方法map

如果需要将流中的元素映射到另一个流中,可以使用map方法

<R> Stream<R> map(Function<? super T,? extends R> mapper);

该接口需要一个Function函数式接口参数,可以将当前流中的T类型数据转化为另一种R类型的流。

Function中的抽象方法:
  R apply(T t);

复制代码
    public static void main(String[] args) {
        //创建一个Stream流
        Stream<String> stream = Stream.of("1","2","3","4","5","6");
        //使用map方法,把字符串类型的整数,转换为Integer类型的整数
        Stream<Integer> stream1 = stream.map((String s) -> {
            return Integer.parseInt(s);
        });
        //遍历stream流
        stream1.forEach(i-> System.out.println(i));
    }
复制代码

 

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