ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Stream-常用方法

2022-07-22 16:08:13  阅读:132  来源: 互联网

标签:count 常用 Stream stream long limit 方法 String


常用方法

映射: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));
    }

运行结果:

标签:count,常用,Stream,stream,long,limit,方法,String
来源: https://www.cnblogs.com/aimz01/p/16506076.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有