首页 > 其他分享 >Stream-常见方法(中)

Stream-常见方法(中)

时间:2022-08-22 17:12:56浏览次数:45  
标签:Stream 流中 常见 list long limit 方法

常用方法:

映射:map

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

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

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

 

 这可以将一种T类型转换为R类型 而这种转换的动作 就称为“映射”

代码:

/*
    如果需要将流中的元素映射到另一个流中,可以使用map方法。
    <R> Stream<R> map(Function<? super T,? extends R> mapper);
    该接口需要一个Function函数式接口参数,可以将当前流中的T类型数据转化为另一种R类型的流。
    Function中的抽象方法:
     R apply(T t);
 */
public class BStream4 {
    public static void main(String[] args) {
        //获取一个String类型的Stream流
        Stream<String> stream = Stream.of("1", "2", "3", "4");
        //使用map方法,把字符串类型的整数,转换(映射)为Integer类型的整数
        Stream<Integer> ni = stream.map((String spr)->{
            //转换为整数
            return Integer.parseInt(spr);
        });
        ni.forEach(i-> System.out.println(i));
    }
}

运行结果:

 

 统计个数:count

正如旧集合Collection当中的size方法一样 流提供count方法来数一数其中的元素个数

long count();

该方法返回一个long值代表元素个数(不再像旧集合那样是int值)

count方法是一个终结方法 返回值是一个long类型的整数 所以不能再继续调用Stream流中的其他方法了

代码:

public class BStream5 {
    public static void main(String[] args) {
        //获取一个Stream流
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        list.add(7);
        Stream<Integer> stream = list.stream();
        //统计元素中的个数
        long count = stream.count();
        System.out.println(count);//输出
    }
}

运行结果:

 

 取用前几个:limit

limit方法可以对流进行截取,只取用前n个,方法签名:

Stream<T> limit(long maxSize);

参数是一个long型 如果集合当前长度大于参数则进行截取 否则不进行操作

 

 代码:

/*
        Stream流中常用方法——limit:用于截取流中的元素
    limit方法可以对流进行截取,只取前n个。方法签名:
    Stream<T> limit(long maxSize);
         参数是一个long型,如果集合当前长度大于参数则进行截取,否则不进行操作
    limit方法是一个延迟方法,只是对流中的元素进行截取,返回的是一个新的流,所以可以继续调用Stream流中的其他方法
 */
public class BStream6 {
    public static void main(String[] args) {
        //定义字符串类型数组
        String[] arr = {"喜羊羊","美羊羊","沸羊羊","灰太狼","红太狼"};
        //获取Stream流
        Stream<String> arr1 = Stream.of(arr);
        //使用limit对Stream流中的元素进行截取,只要前3个元素
        Stream<String> limit = arr1.limit(3);
        //遍历limit流
        limit.forEach(name-> System.out.println(name));
    }
}

运行结果:

 

标签:Stream,流中,常见,list,long,limit,方法
From: https://www.cnblogs.com/qihaokuan/p/16613251.html

相关文章

  • Stream-常见方法(上)
    常见方法   流模型的操作很丰富,这里介绍一些常用的API,这些方法可以被分成两种:延迟方法:返回值类型仍然是Stream接口自身类型的方法因此支持链式调用(除了终结方法......
  • 共享USB打印机设置方法
    打印机共享一、准备所有计算机在同一个网段。所有计算机在同一个工作组,组名可以自定义,默认WORKGROUP。使用超级管理员用户,目的是为了激活guest用户。验证之后可......
  • 解决死锁之路 - 常见 SQL 语句的加锁分析
    解决死锁之路-常见SQL语句的加锁分析这篇博客将对一些常见的SQL语句进行加锁分析,看看我们平时执行的那些SQL都会加什么锁。只有对我们所写的SQL语句加锁过程了......
  • JQuery_遍历_for循环、JQuery_遍历2_each方法
    JQuery_遍历_for循环2.遍历1.js的遍历方式*for(初始化值;循环结束条件;步长)2.jq的遍历方式1.jq对象.each(callback)2.$.each(object,[callback])3.for..of: ......
  • 一次跨域请求出现 OPTIONS 请求的问题及解决方法
    浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都属于跨域。前端这边有一个get请求,在请求的header里面要添加两个自定义的header。GEThttp:......
  • Stream流-流式思想概述和获取流
    流式思想概述整体来看,流式思想类似于工厂车间的“生产流水线”。  当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”......
  • Linux启动Mysql出现command not found的解决方法
    当在Linux中安装Mysql后,不管是在根目录下还是在安装mysql的bin下执行mysql-uroot-p结果都是commandnotfound,如下图所示:问题原因,linux默认启动Mysql,会在根目录下的bin中......
  • [四、Xcode界面]19代码方法块的折叠和展开
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!!......
  • JAVA中子类使用super.getClass()方法
    一般来说,java中调用getClass().getName()这个方法可以获取本类的名称,例如:importjava.util.Date;publicclassTest06extendsDate{publicstaticvoidmain(St......
  • pr2022如何导入.mogrt文件?pr模板的安装方法
    Mogrt格式的模板文件是一种新型的模板格式,因此对Premiere软件版本的要求较高,导致了许多人在使用模板是会出现不知如何导入的问题。现在小编为大家带来具体导入方法。首先,......