Stream流

本文介绍了如何使用Java Stream流进行数据处理,包括创建Stream流、应用中间操作和终结操作,以及如何进行数据的收集操作。示例展示了从一个包含多个字符串的集合中筛选出以'张'开头且长度为3的元素,并打印这些元素的过程,对比了传统迭代与Stream流的实现方式。
摘要由CSDN通过智能技术生成

#博学谷IT学习技术支持#

目录

#博学谷IT学习技术支持#

1.Steream流实例

2.Stream流的常见生成方式

3.Stream流中间操作方法

4. Stream流终结操作方法

 5.Stream流的收集操作


1.Steream流实例

按照下面的要求完成集合的创建和遍历

- 创建一个集合,存储多个字符串元素
- 把集合中所有以"张"开头的元素存储到一个新的集合
- 把"张"开头的集合中的长度为3的元素存储到一个新的集合
- 遍历上一步得到的集合

原始方式示例代码 :

public class MyStream1 {
    public static void main(String[] args) {
        //集合的批量添加
        ArrayList<String> list1 = new ArrayList<>(List.of("张三丰","张无忌","张翠山","王二麻子","张良","谢广坤"));
        //list.add()

        //遍历list1把以张开头的元素添加到list2中。
        ArrayList<String> list2 = new ArrayList<>();
        for (String s : list1) {
            if(s.startsWith("张")){
                list2.add(s);
            }
        }
        //遍历list2集合,把其中长度为3的元素,再添加到list3中。
        ArrayList<String> list3 = new ArrayList<>();
        for (String s : list2) {
            if(s.length() == 3){
                list3.add(s);
            }
        }
        for (String s : list3) {
            System.out.println(s);
        }      
    }
}

 使用Stream流示例代码 :

public class StreamDemo {
    public static void main(String[] args) {
        //集合的批量添加
        ArrayList<String> list1 = new ArrayList<>(List.of("张三丰","张无忌","张翠山","王二麻子","张良","谢广坤"));

        //Stream流
        list1.stream().filter(s->s.startsWith("张"))
                .filter(s->s.length() == 3)
                .forEach(s-> System.out.println(s));
    }
}

2.Stream流的常见生成方式

  • Stream流的三类方法

    • 获取Stream流

      • 创建一条流水线,并把数据放到流水线上准备进行操作

    • 中间方法

      • 流水线上的操作

      • 一次操作完毕之后,还可以继续进行其他操作

    • 终结方法

      • 一个Stream流只能有一个终结方法

      • 是流水线上的最后一个操作

  • 生成Stream流的方式

    • Collection体系集合

      使用默认方法stream()生成流, default Stream<E> stream()

    • Map体系集合

      把Map转成Set集合,间接的生成流

    • 数组

      通过Arrays中的静态方法stream生成流

    • 同种数据类型的多个数据

      通过Stream接口的静态方法of(T... values)生成流

3.Stream流中间操作方法

概念:中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作

4. Stream流终结操作方法

概念:终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作

 5.Stream流的收集操作

概念:对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中

常用方法:

 工具类Collectors提供了具体的收集方式 :

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值