Stream流的中间与终止操作(collect, map, filter, flatMap,max 、min)简单整理

Stream流的中间与终止操作(collect, map, filter, flatMap,max 、min)简单整理

部分整理如下代码块,


    @Test
    public void DemoStream() {

        String stringGather[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

        System.out.println("!****************终止操作(collect):转元素********************!");
        System.out.println("取 Stream 中每个字符串并放入一个新的列表");
        List<String> streamList = Stream.of(stringGather).collect(Collectors.toList());
        for (String s : streamList) {
            System.out.println("通过stream转换新的集合元素分别是:" + s);
        }
        streamList.forEach(System.out::println);



        System.out.println("!******************中间操作(map    ):变大写******************!");
        System.out.println("将一种类型的值映射为另一种类型的值,可以将 Stream 中的每个值都映射为一个新的值,最终转换为一个新的 Stream 流");
        List<String> streamUpcase = Stream.of(stringGather).map(
                test -> test.toUpperCase()

        ).collect(Collectors.toList());
        streamUpcase.forEach(System.out::println);


        System.out.println("!******************中间操作(filter ):  ******************!");
        System.out.println("遍历并筛选出满足条件的元素形成一个新的 Stream 流。");
        List<String> list = Arrays.asList("java", "react", "angular", "javascript", "vue");
        long count = list.stream().filter(p -> p.startsWith("j")).count();
        System.out.println(count);

        System.out.println("!******************中间操作(flatMap  ):  ******************!");
        System.out.println("将两个集合 合并为一个");

        List<String> listMerge = Stream.of(Arrays.asList("1", "2", "3"), Arrays.asList("吃", "饼", "干"))
                .flatMap(test -> test.stream()).collect(Collectors.toList());

        listMerge.forEach(System.out::println);

        System.out.println("!****************** 终止操作(max 、min  ):  ******************!");
        System.out.println("求 Stream 中的最大值、最小值以元素长度为依据");

        Optional<String> maxValue = Stream.of(stringGather).max((ao, bo) -> Integer.compare(ao.length(), bo.length()));
        System.out.println("最大值为:" + maxValue);



        System.out.println("!****************** 终止操作(reduce   ):  ******************!");
        System.out.println("从 Stream 的一组值中生成另一个值。");


        int counts = Stream.of(1, 2, 3, 4, 5).reduce(0 ,(addValue, value) -> (addValue + value));
        System.out.println("累计和为:" + counts);

    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值