Java8 StreamAPI中的map()方法怎么使用


今天小编给大家分享一下Java8StreamAPI中的map()方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在日常的开发工作中经常碰到要处理 List 中数据的问题,比如从一个对象集合中获得对象中的一个属性的集合。之前我们想到的是遍历每个元素,然后取出来放到另外一个集合中,比较繁琐;在 Java8 之后,对集合可以进行 Stream 操作,使上面的处理更简洁。Stream 流式处理中有 map() 方法,先看下其定义,该方法在java.util.stream.Stream类中可以看到 map() 方法接收一个函数式接口参数,入参有一个 T ,返回一个 Stream 流,这个流是 R 泛型。主要有以下几点注意,入参是一个流中的元素;出参是一个流,且流中是新元素;用图表示就是下面的样子,原始流中有四个圆形图案,调用 map() 函数后变成了四个五角星图案,这里的圆形图案和五角星图案是一一对应的,也就是原始流中有多少个元素,调用 map() 方法后依旧有多少个元素,唯一改变的是流中的元素类型。我们先创建一个实体类 Student.java再创建一个初始化数据的类:找出所有的学生姓名这里使用了 map() 方法,入参是 Student,出参是以 String 为泛型的流,最后使用 forEach 进行了打印,看下结果可以看到刚好把所有的学生姓名均打印出来了。如果想把这些学生姓名放到一个List中怎么办?将学生姓名放到list中同样的找出所有的班级,找出所有学生的成绩都可类比上面的,可以看到打印出的学生姓名或班级是有重复数据,这个要怎么解决。我们知道在最后是把数据放到 List 中,为了解决重复的问题可以把数据放到 Set 中,利用 免费云主机域名Set 的去重功能:结果不再打印,有兴趣的可以自己试试。将姓名为“汤霖”的语文成绩置为90现在有这样一个需求,要把姓名为汤霖学生的语文成绩置为90,看下利用 map() 函数怎么做?输出结果:从上面的结果中可以看出,汤霖的语文成绩的确被改为了90,这点是没错的。再看原数据也被改为了90,上面提到过 map() 方法生成的是一个新流,原始流中的数据也被修改了,因为下面这行代码是在原始流中元素的基础上修改的引用类型中的数据,导致的原始流中的数据也会改。以上就是“Java8StreamAPI中的map()方法怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: JavaScript WebAPI的概念是什么

JavaScript WebAPIJavaScript WebAPIJS :ECMAScript: DOM API: BOM API: WebAPI DOM + BOM.DOM Document Object Model.W3C , :, DOM .: , d…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/16 14:49
下一篇 06/16 14:49

相关推荐