地图和flatMap怎么在Java8项目中使用

  介绍

本文章向大家介绍地图和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 之前我们要通过新建一个集合然后通过遍历学生集合来消费元素中的年龄属性。现在我们通过很简单的流式操作就完成了这个需求。

示意图:

地图和flatMap怎么在Java8项目中使用“> </p> <p>对应的伪代码:</p> <pre类=//,伪代码   ,List年龄=studentList.stream () . map(学生::getAge) .collect (Collectors.toList ());

<强> 3。flatMap操作

通过上面的例子,<代码> 地图操作应该非常好理解。那么<代码> flatMap> List祝辞,studentGroup=, gradeList.stream () . map(等级::getStudents) .collect (Collectors.toList ());

通过上面的一顿操作,我们只能得到每个班的学生集合的集合<代码> List祝辞> List flatMap> //, flatMap 提取,List, map 提取年龄   ,List ages =, grades.stream () .flatMap (grade →, grade.getStudents () .stream ()) . map(学生::getAge) .collect (Collectors.toList ());

正如上面的伪代码所示,我们使用<代码> flatMap> 地图操作提取年龄。<代码> flatMap> 地图地方在于<代码> 地图只是提取属性放入流中,而flatMap先提取属性放入一个比较小的流,然后再将所有的流合并为一个流,有一种“聚沙成塔”的感觉。

再画一张图来加深理解:

地图和flatMap怎么在Java8项目中使用“> </p> <p class=到此这篇关于地图和flatMap怎么在Java8项目中使用的文章就介绍到这了,更多相关的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

地图和flatMap怎么在Java8项目中使用