幻仿编程 Udemy 付费课程,独家中英字幕 + 配套资料!
限时1折特惠!课程永久访问权,随时随地学习!
Java 中的函数式编程:Java Lambdas 和 Streams
掌握 Java 中的 Lambdas 和 Streams(包含大量代码示例)
讲师:Dr. Seán Kennedy OCA
您将学到什么
- 功能接口 – 它们是什么以及它们与 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
- 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
- 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
- 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
- Pipelines
- Laziness
- Creating streams
- Terminal operations: reduce() collect() Collectors.toMap() Collectors.groupingBy() Collectors.partitioningBy()
- reduce()
- collect() Collectors.toMap() Collectors.groupingBy() Collectors.partitioningBy()
- Collectors.toMap()
- Collectors.groupingBy()
- Collectors.partitioningBy()
- Intermediate operations: filter(), distinct(), limit() map(), flatMap(), sorted()
- 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
- 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 的函数式编程方面)的人。
| 共 35 节课程 • 总时长 2 小时 36 分钟 | |
| 第一章 Lambda表达式 | |
| 1. 介绍 | 6分42秒 |
| 2. 方法引用 | 2分42秒 |
| 3. 绑定方法引用 | 4分59秒 |
| 4. 未绑定方法引用 | 5分1秒 |
| 5. 静态方法引用 | 2分55秒 |
| 6. 构造方法引用 | 3分2秒 |
| 7. 方法引用和上下文 | 5分51秒 |
| 8. 代码中的Lambda表达式(使用自定义函数式接口) | 3分8秒 |
| 9. 代码中的Lambda表达式(使用Predicate) | 5分35秒 |
| 10. 来自API的功能接口 – Predicate和BiPredicate | 3分14秒 |
| 11. API中的函数式接口 – Supplier | 2分8秒 |
| 12. 来自 API 的函数式接口 – Consumer 和 BiConsumer | 5分 |
| 13. API 中的函数式接口 – Function 和 BiFunction | 2分47秒 |
| 14. API中的函数式接口 – UnaryOperator和BinaryOperator | 3分3秒 |
| 15. Lambda表达式 – 最终和有效地最终 | 4分15秒 |
| 第二章 流 | |
| 1. 引言和流管道 | 4分35秒 |
| 2. 中间操作 – filter(), distinct() 和 limit() | 6分8秒 |
| 3. 中间操作 – map()、flatMap() 和 sorted() | 5分54秒 |
| 4. 原始流 – 创建 | 4分3秒 |
| 5. 原始流 – API | 4分23秒 |
| 6. 原始流 – 函数式接口 | 3分23秒 |
| 7. 原始流 – 映射 | 6分41秒 |
| 8. 映射对象流 | 3分7秒 |
| 9. 映射原始流 | 3分24秒 |
| 10. 可选项 | 5分45秒 |
| 11. 并行流 | 4分20秒 |
| 12. 流惰性 | 6分13秒 |
| 13. 创建流 | 7分19秒 |
| 14. 终端操作 | 6分37秒 |
| 15. 终端操作 – reduce() | 8分7秒 |
| 16. 终端操作 – collect() | 2分21秒 |
| 17. 终端操作 – collect() – Collectors.toMap() | 6分38秒 |
| 18. 终端操作 – collect() – Collectors.groupingBy() | 3分15秒 |
| 19. 终端操作 – collect() – Collectors.partitioningBy() | 2分35秒 |
| 第三章 额外内容 | |
| 1. 额外讲座 | 1分35秒 |
| 1. 关于课程更新与获取 如何获取本站课程? ○ 免费获取方式:在本站签到、评论、发布文章等可获取积分,通过积分购买课程。 ○ 付费获取方式:购买本站【月度会员】或【永久会员】。 课程购买后是否支持更新? ○ 是的,所有课程均提供免费更新服务。 我们致力于为您提供持续的学习支持。 如何获取更新? ○ 单独购买的课程: 您可在“个人中心”随时查看购买记录及最新下载链接,轻松获取免费更新。 ○ 永久会员: 您可在相关页面直接查看最新下载地址,随时免费获取更新。 ○ 非永久会员(重要提示):通过会员权限下载的课程,在“个人中心”可能不显示具体订单记录。 因此,会员到期后,您将无法通过“个人中心”查看最新下载链接。 ① 解决方案建议:续费会员: 恢复会员权限后,即可再次查看所有最新下载链接。 ② 妥善保存下载链接: 我们强烈建议您在会员有效期内,保存好本站分享的课程下载链接。通常,课程更新内容会直接补充到原有分享链接中。 |
| 2. 关于课程资料 课程下载后资料是否齐全? ○ 绝大部分课程资料齐全。 我们尽力确保您获得完整的学习资源。 ○ 少数情况说明: 极少数课程可能存在资料缺失情况。针对 Udemy 课程,资料形式多样,请知悉:本地文件(随视频下载): 此类课件通常随视频一并提供,下载即得。 ① 本地文件(含链接): 课件文件中会提供资料下载链接,您需自行访问链接下载。此类资料通常也可获取。 ② 在线平台存储(如 GitHub): 讲师会在视频中说明资料获取方式(如访问特定平台),请您按指引自行下载。 ③ Udemy 平台内资料: 部分资料需登录您在 Udemy 购买的账号才能查看。此类资料本站无法提供,除非您自行在 Udemy 平台购买该课程。 |
| 3. 关于课程字幕 是否提供中英文双字幕?原本无字幕的课程是否支持? ○ 是的,本站下载的所有课程均提供中英文双字幕,包括 Udemy 原本无任何字幕的课程。 我们致力于提升您的学习体验。 Udemy 字幕现状与本站服务: ○ Udemy 绝大多数课程本身不提供任何字幕。在少数提供字幕的课程中,也几乎不提供中文字幕。 本站字幕服务流程: ① Udemy 有字幕: 我们会将其翻译成中文字幕,与英文字幕一同提供。 ② Udemy 无字幕: 我们会通过技术手段识别生成英文字幕,再翻译成中文字幕,一同提供给您。 字幕服务重要说明(请您理解): ○ 翻译精度: 字幕翻译采用谷歌翻译引擎完成,虽不及人工翻译精准,但足以保障您正常学习理解。 ○ 若您仍然觉得字幕精度较低: 可联系站长针对性润色字幕(该服务仅限本站会员)。 |
| 4. 关于视频存储与使用 视频存储位置与观看/下载方式? 本站所有课程视频均存储于网盘平台。 您支持在线观看: 可在网盘内直接播放学习。 您支持下载: 可将视频下载至本地,使用播放器播放,更灵活便捷。 主要存储网盘:百度网盘 视频格式与加密情况? 本站所有课程视频均以 MP4 或 MKV 通用格式提供。 视频文件不加密,您可自由分享(请遵守相关法律法规)。 播放建议: 使用本地播放器(如 PotPlayer)播放时,可同时加载中英文字幕文件,学习体验更佳。您可参考我们提供的《PotPlayer 挂载中英双字幕教程》。 |
| 5. 关于售后支持与退款政策 遇到问题如何联系? 无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。 退款政策说明: 原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。 请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。 |



























暂无评论内容