函数式编程在Java中 Java Lambdas和Streams | Functional Programming in Java Java Lambdas and Streams

函数式编程在Java中 Java Lambdas和Streams | Functional Programming in Java  Java Lambdas and Streams-幻仿编程
函数式编程在Java中 Java Lambdas和Streams | Functional Programming in Java Java Lambdas and Streams
此内容为付费资源,请付费后查看
39.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源
资源分类: Java查看预览
最近更新: 2025-01-02文件内容: 视频+中英文字幕+配套课件
视频分辨率: 720P 准高清文件大小: 1.4GB
视频语言: 英语视频字幕: 中英字幕

幻仿编程 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和BiPredicate3分14秒
11. API中的函数式接口 – Supplier2分8秒
12. 来自 API 的函数式接口 – Consumer 和 BiConsumer5分
13. API 中的函数式接口 – Function 和 BiFunction2分47秒
14. API中的函数式接口 – UnaryOperator和BinaryOperator3分3秒
15. Lambda表达式 – 最终和有效地最终4分15秒
第二章 流
1. 引言和流管道4分35秒
2. 中间操作 – filter(), distinct() 和 limit()6分8秒
3. 中间操作 – map()、flatMap() 和 sorted()5分54秒
4. 原始流 – 创建4分3秒
5. 原始流 – API4分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. 关于售后支持与退款政策

遇到问题如何联系?
无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。

退款政策说明:
原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。

请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容