CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • Stream API 中的 sum、count、average、max、min 方法

    JAVA 25 SELF
    等级 31,课时 0
    在本讲中,我们解析 Stream API 的聚合操作:如何通过 count() 统计数量,如何在原始类型流( IntStream、 LongStream、 DoubleStream)中使用 sum()、 average() 计算总和与平均值,以及如何通过 min()/ max() 查找极值。我们还将单独讨论容器 Optional、 OptionalInt、 OptionalLong、 OptionalDouble 的用法,以及正确的取值方式: orElse(...)、 ifPresent(...)、 orElseThrow()。同时学习使用收集器 Collectors.summingInt、 Collectors.averagingInt、 Collectors.maxBy/ minBy,并将它们与 groupingBy 结合。最后——解析常见错误与注意事项。
    可用
  • reduce 和 collect 方法:数据聚合

    JAVA 25 SELF
    等级 31,课时 1
    解析流的终止操作:通用归约 reduce() 与强大的收集器 collect()。理解带有 identity、 accumulator 和 combiner 的签名,学习使用 Collectors 中的现成收集器( toList()、 toMap()、 joining()、 groupingBy())来收集数据,并看看何时应优先使用 collect() 而不是 reduce()。还将单独讨论 Optional 的使用、 toMap() 中的重复键处理,以及并行流的细节。
    可用
  • groupingBy 和 partitioningBy 方法(Collectors)

    JAVA 25 SELF
    等级 31,课时 2
    在本讲中,我们学习如何在流中使用收集器 Collectors.groupingBy 和 Collectors.partitioningBy 进行数据分组:简单与嵌套分组、按布尔条件拆分、如何在二者之间做选择、结果处理与一些小技巧。通过字符串、数字和对象的实战示例,你将看到如何从 Stream API 的流中获得所需结构的 Map,以及如何与特征函数( Function)和谓词( Predicate)配合使用。最后——解析常见错误。
    可用
  • 高级聚合:嵌套分组

    JAVA 25 SELF
    等级 31,课时 3
    使用 Stream 与收集器深入实践嵌套分组:如何将 Collectors.groupingBy 与聚合器( maxBy、 averagingInt、 counting)组合,使用 mapping 变换数据,通过 partitioningBy 划分子集,并正确读取嵌套的 Map 结构。包含大量直观示例、结果结构可视化以及常见错误解析。
    可用
  • 高级收集器

    JAVA 25 SELF
    等级 31,课时 4
    在本讲中,我们解析 Stream API 中的高级收集器用法:为 groupingBy/ partitioningBy 配置嵌套的下游(downstream)收集器,使用 mapping 做转换,使用 filtering 做过滤,使用 flatMapping 做“展开”,使用 teeing(Java 12+)做同时聚合,以及通过 toUnmodifiableList/Set/Map 与 collectingAndThen 实现集合的“冻结”。我们会展示实用的流水线与常见错误。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym