Stream流的终结方法(一)

1.Stream流的终结方法

2.forEach

对于forEach方法,用来遍历stream流中的所有数据

java 复制代码
package com.njau.d10_my_stream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;

/**
 * 目标:认识stream流的终结方法
 * void forEach(Consumer action)        遍历
 * long count()                         统计
 * toArray()                            收集流中的数据,放到数组中
 */
public class StreamDemo9 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");

        // void forEach(Consumer action)        遍历      返回值为void,证明其为终结方法
        // Consumer的泛型:表示流中数据的类型
        // accept方法的形参s:依次表示流里面的每一个数据
        // 方法体:对没有个数据的处理操作(打印)
        list.stream().forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        list.stream().forEach(s -> System.out.println(s));
    }
}

3.count

对于count方法,用于统计流中元素的数量

java 复制代码
package com.njau.d10_my_stream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;

/**
 * 目标:认识stream流的终结方法
 * void forEach(Consumer action)        遍历
 * long count()                         统计
 * toArray()                            收集流中的数据,放到数组中
 */
public class StreamDemo9 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");

        // long count()                         统计
        System.out.println(list.stream().count());
    }
}

4.toArray(将流存储到数组中去,集合->数组)

深入认识toArray(带有数组类型的方法)

1.new IntFunction的泛型类型:具体类型的数组
2.apply的形参:流中数据的个数,要跟数组长度保持一致
3.apply的返回值:具体类型的数组
方法体:就是创建数组

java 复制代码
package com.njau.d10_my_stream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;

/**
 * 目标:认识stream流的终结方法
 * void forEach(Consumer action)        遍历
 * long count()                         统计
 * toArray()                            收集流中的数据,放到数组中
 */
public class StreamDemo9 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");
        // 深入认识toArray(带有数组类型的方法)
        // 1.new IntFunction的泛型类型:具体类型的数组
        // 2.apply的形参:流中数据的个数,要跟数组长度保持一致
        // 3.apply的返回值:具体类型的数组
        // 方法体:就是创建数组

        // toArray方法参数的作用:创建一个String类型的数组
        // toArray方法的底层:将流中的数据依次存放到数组中
        // toArray方法的返回值:返回已经存储进去流中数据的数组
        /*
        String[] arr2 = list.stream().toArray(new IntFunction<String[]>() {
            @Override
            public String[] apply(int value) {
                return new String[value];
            }
        });
        */
        String[] arr2 = list.stream().toArray(value -> new String[value]);
        System.out.println(Arrays.toString(arr2));
    }
}
相关推荐
Chan1616 分钟前
场景题:CPU 100% 问题怎么排查?
java·数据库·redis·后端·spring
qq_3363139339 分钟前
java基础-IO流(网络爬虫/工具包生成假数据)
java·爬虫·php
桦说编程1 小时前
滑动窗口限流器的演进之路:从调度器实现到 Packed CAS
java·后端·性能优化
开开心心_Every1 小时前
安卓后台录像APP:息屏录存片段,行车用
java·服务器·前端·学习·eclipse·edge·powerpoint
初次攀爬者1 小时前
SpringBoot 整合 JWT + Redis 实现登录鉴权
java·redis·后端
悦悦妍妍1 小时前
spring-ioc
java
王阿巴和王咕噜1 小时前
【WSL】安装并配置适用于Linux的Windows子系统(WSL)
linux·运维·windows
佛系打工仔2 小时前
绘制K线第一章:可见区间处理
java
wangkay882 小时前
【Java 转运营】Day02:抖音直播间流量底层逻辑全解析
java·新媒体运营