Java 中的函数式编程:Java Lambdas 和 Streams
掌握 Java 中的 Lambdas 和 Streams(包含大量代码示例)
讲师:Dr. Seán Kennedy OCA
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 功能接口 – 它们是什么以及它们与 lambda 表达式的关系。
- Lambdas – 匿名内部类语法与 lambda 表达式。
- API 中的功能接口 – 解释 Predicate/BiPredicate、Consumer/BiConsumer 的示例代码
- API 中的函数接口 – 解释供应商、函数/BiFunction 的示例代码
- API 中的函数接口 – 解释 UnaryOperator、BinaryOperator 的示例代码
- 方法引用 – 它们与 lambda 的关系。使用代码解释不同类型的方法引用 – 绑定、非绑定、静态和构造函数。
- 方法参考——上下文如何帮助理解它们。
- 流 – 它们是什么、流管道和流惰性。
- 流 – 终端操作。
- 流 – 终端操作 – 使用代码示例解释reduce、collect()。
- 流 – 使用 API 收集器进行 collect(),并附有代码示例说明,例如 CollectorsDOTtoMap()、CollectorsDOTgroupingBy() 和 CollectorsDOTpartitioningBy()
- 流 – 通过代码示例解释中级操作,例如 filter()、distinct()、limit()、map()、flatMap() 和 sorted()。
- 流 – 解释了有状态和短路的中间操作。
- 流 – 原始流 – 如何创建它们、它们的 API 是什么样的以及如何在它们之间映射。
- 流——对象流和原始流之间的映射,反之亦然。
- 可选参数 – 它们是什么以及为什么它们有用。示例代码演示了它们的用法。
- 并行流 – 如何创建它们。顺序流处理与并行流处理。
探索相关主题
- Lambda 表达式
- IT 认证
- 信息技术与软件
要求
- 中级 Java。虽然我的“Java 8 OCA(1Z0-808)课程”从头开始,但这假设学习者具有合理的 Java 水平。
- 为了更容易理解 lambda,熟悉匿名内部类会有所帮助。也就是说,lambda 与课程中的匿名内部类语法形成了对比。
描述
重要提示– 我的高级 Java 课程:Java 21、Java 17、Java 11、高级 Java 8 (1Z0-829、1Z0-819、1Z0-809)包含本课程作为子集。我的高级 Java 课程包含额外的 12 小时内容,在投资本课程之前值得一试(因为在我看来,它更物有所值)。
[2024 年 8 月更新] – 我已在我的 GitHub 存储库中提供了我在课程中开发的所有源代码。这将为您节省大量设置示例程序的时间。请参阅课程早期的“克隆我的 GitHub 存储库”讲座。
2023 年 2 月更新 – 添加了流分配!
2022 年 4 月更新 – 添加了 lambdas/方法引用分配!
本课程以注释和代码示例的形式,系统地讲解了 Java 中的 lambda 表达式和流。包含所有代码示例。
Topics include:
- Lambdas:
- Functional Interfaces
- Lambdas and their relationship to Functional Interfaces
- Lambdas in code using a custom Functional Interface
- Lambdas in code using the pre-defined API Functional Interfaces:
- Predicate/BiPredicate
- Supplier
- Consumer/BiConsumer
- Function/BiFunction
- UnaryOperator and BinaryOperator
- final and “effectively final”
- Method References:
- bound
- unbound
- static
- constructor
- context and it’s effect in understanding method references
- Streams:
- Pipelines
- Laziness
- Creating streams
- Terminal operations:
- reduce()
- collect()
- Collectors.toMap()
- Collectors.groupingBy()
- Collectors.partitioningBy()
- Intermediate operations:
- filter(), distinct(), limit()
- map(), flatMap(), sorted()
- Primitive streams:
- Creating
- API
- Functional Interfaces
- Mapping between primitive streams
- Mapping between primitive streams and Object streams and vice versa
- Optionals
- Parallel streams
本课程面向 Java 认证,即谓词 lambda 部分适合 Java 8 OCA (1Z0-808)。 其余的 lambda 部分和流部分适合任何版本的 Java OCP。 本课程通过小型、简单、有针对性的代码示例来解释这些概念。 请注意,我的另外两门课程,即 “Java 8 OCA (1Z0-808) 认证–掌握基本原理 “和 “Java 21、Java 17、Java 11、Java 8(高级)和 Spring Boot”,均已入选 Udemy Business 组合(只有前 3% 的课程才有资格入选)。
对于那些不了解我的人,我从 2002 年开始担任讲师,并从 2013 年开始代表一家备受赞誉的软件公司教授 Java OCA 和 OCP 课程大纲。 完成我的课程后,毕业生将面临公司内部的 Java 认证考试(与 Oracle 的考试风格类似)。
我无法了解他们将面临的问题。 这是一次长达 3 小时的强化考试。 公司对通过率非常满意(自第一年以来通过率为 100%)。 我热爱教学,这门课程包含了我在讲解 Java lambdas 和流方面的所有经验。
本课程适合哪些人:
任何有兴趣学习 Lambdas 和 Streams(Java 8 的函数式编程方面)的人。
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。