Stream-常用方法(中)
常用方法
映射:map
如果需要将流中的元素映射到另一个流中 可以使用map方法
<R>Stream<R>map(Function<? super T,? exteds R> mapper);
该接口需要一个Function函数式接口参数 可以将当前六中的T类型数据转化为另一个R类型的流
这可以将一种T类型转换为R类型 而这种转换的动作 就称为“映射”
代码:
public static void main(String[] args) { //获取一个String类型的stream流 Stream<String> stream = Stream.of("1", "2", "3", "4"); //使用map方法 把字符串类型的整数 转换(映射)为Integer类型的整数 Stream<Integer> stream1 = stream.map((String s) -> { return Integer.parseInt(s); }); //遍历Stream2流 stream1.forEach(i-> System.out.println(i)); }
运行结果:
统计个数:count
正如旧集合Collection当中的size方法一样 流提供count方法来数一数其中的元素个数
long count();
该方法返回一个long值代表元素个数(不再像旧集合那样是int值)
count方法是一个终结方法 返回值是一个long类型的整数 所以不能再继续调用Stream流中的其他方法了
代码:
public static void main(String[] args) { //获取一个String类型的stream流 Stream<String> stream = Stream.of("z", "c", "d", "e"); //使用count方法 获取Stream获取元素的个数 long count = stream.count(); //遍历Stream2流 System.out.println(count); }
运行结果:
取用前几个:limit
limit方法可以对流进行截取 只取用前n个
Stream<T> limit(long maxSize);
参数是一个long型 如果集合当前长度大于参数则进行截取 否则不进行操作
代码:
public static void main(String[] args) { //获取一个String类型的stream流 Stream<String> stream = Stream.of("z", "c", "d", "e"); //使用limit方法 获取元素内容的前两个数 Stream<String> limit = stream.limit(2); //遍历limit流 limit.forEach(name-> System.out.println(name)); }
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix