Stream是JDK8的新特性,任何标注了@FunctionalInterface的接口都能使用Stream流来处理数据。
很多同学知道函数式编程很强大,也知道怎么用,但是实际应用起来总会摸不着头脑。
1.遍历
只要了解了Stream的使用基本都会用它来遍历。但是什么时候用map,什么时候用forEach,这是个问题。
其实实际项目中我们遍历一个集合类,无非是两类操作。第一种是对集合中元素的本身进行操作(如字段值的修改),第二种是消费集合中的元素,比如打印每个元素的某个值,或者让另一个方法使用元素。当然,还有第三种,就是过滤、聚合、排序,这些都是比较简单的,我们这里不谈。
针对第一种我们应该把这种使用成为Function,这是一种给定T对象,返回R的函数式接口。详情请看我之前的文章Function接口的使用。第二种其实是Consumer,也就是消费者。这是给定T,但不返回值的函数式接口。
其实我们只看map里面的参数也知道,第一类的操作用map就行了。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>