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)); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)