Stream流

Stream流的原理和lambda表达式差不多,本质上都是语法糖.

lambda表达式是基于匿名内部类来实现的,编译器最终编译是还是会转变成匿名内部类的形式来解析

stream流的主要作用为: 数据源 数据处理 收集结果

一下是一些stream流的常用方法

复制代码
 List<String> list = Arrays.asList("hello,lambda","陈兰","nihao");
//        list.stream() //获取数据源
//                .filter(str -> str.length() >= 5) //数据处理
//                .forEach(str -> System.out.println(str)); //收集结果
//        //limit
//        list.stream()
//                .limit(2)
//                .forEach(str-> System.out.println(str));
        //sorted
        List<Integer> list = Arrays.asList(1, 5, 2, 32, 12);
//        list.stream()
//                .sorted(Comparator.reverseOrder())
//                .forEach(num -> System.out.println(num));
//        System.out.println(list.stream()
//                .max(Integer::compareTo).get());
//        System.out.println(list.stream()
//                .min(Integer::compareTo).get());
//        System.out.println(list.stream().count());

        //map
//        list.stream()
//                .map(num -> num+10)
//                .forEach(num-> System.out.println(num));
        //reduce
//        System.out.println(list.stream()
//                .reduce((sum, num) -> sum + num).get());

        //collection
        List<Integer> collect = list.stream()
                .filter(num -> num % 2 == 0)
                .collect(Collectors.toList());
        System.out.println(collect);
相关推荐
ZC跨境爬虫4 分钟前
LeetCode 88. 合并两个有序数组(双指针详解 + Java Python 实现)
java·python·算法·leetcode
北风toto15 分钟前
研发效能与后端核心技术全景指南:从CI/CD到共性组件实战
java·开发语言·ci/cd
01二进制代码漫游日记18 分钟前
C++基础入门速通
java·开发语言·c++
Herbert_hwt20 分钟前
第六章 Java深入理解接口、函数式接口与lambda表达式
java·开发语言·算法
API快乐传递者36 分钟前
电商竞品分析接口实战指南:从数据采集到决策洞察的全链路方案
java·python
程序员黑豆8 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年9 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅9 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小席是个热心肠10 小时前
AI相关的自我学习
java·人工智能·学习
数智化管理手记12 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能