本文章向大家介绍地图和flatMap怎么在Java8项目中使用,主要包括地图和flatMap怎么在Java8项目中使用的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Java可以用来干什么
Java主要应用于:1。网页开发;2。Android开发;3。客户端开发;4。网页开发;5。企业级应用开发;6。Java大数据开发;7。游戏开发等。
<强> 1。前言强>
Java 8提供了非常好用的流API,可以很方便的操作集合。今天我们来探讨两个<强> >强流中间操作<代码>地图(Function<?超级T, ?R>延伸;mapper) 代码>和<代码> flatMap (Function<?超级T, ?扩展Stream<?,扩展了R>的在mapper) 代码>
<强> 2。地图操作强>
<代码> 代码>地图操作是将流中的元素进行再次加工形成一个新流。这在开发中很有用。比如我们有一个学生集合,我们需要从中提取学生的年龄以分析学生的年龄分布曲线。
放在<强> Java 8 强>之前我们要通过新建一个集合然后通过遍历学生集合来消费元素中的年龄属性。现在我们通过很简单的流式操作就完成了这个需求。
示意图:
//,伪代码
,List <强> 3。flatMap操作强> 通过上面的例子,<代码> 代码>地图操作应该非常好理解。那么<代码> flatMap> 代码是干嘛的呢?这样我们把上面的例子给改一下,如果是以班级为单位,提取所有班级下的所有学生的年龄以分析学生的年龄分布曲线。这时我们使用上面的方法还行得通吗? 通过上面的一顿操作,我们只能得到每个班的学生集合的集合<代码> List 正如上面的伪代码所示,我们使用<代码> flatMap> 代码将所有的学生汇聚到一起。然后再使用<代码> 代码>地图操作提取年龄。<代码> flatMap> 代码不同于<代码> 代码>地图地方在于<代码> 代码>地图只是提取属性放入流中,而flatMap先提取属性放入一个比较小的流,然后再将所有的流合并为一个流,有一种“聚沙成塔”的感觉。 再画一张图来加深理解: 到此这篇关于地图和flatMap怎么在Java8项目中使用的文章就介绍到这了,更多相关的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! List
祝辞,studentGroup=, gradeList.stream () . map(等级::getStudents) .collect (Collectors.toList ());
祝辞> 代码。我们还需要嵌套循环才能获取学生的年龄数据,十分不便。如果我们能返回全部学生的集合<代码> List
//, flatMap 提取,List
地图和flatMap怎么在Java8项目中使用