Java8新特性Stream的完全使用指南
文件大小: 80k
源码售价: 10 个金币 积分规则     积分充值
资源说明: Java8新特性Stream的完全使用指南 Stream是Java 1.8版本开始提供的一个接口,主要提供对数据集合使用流的方式进行操作,流中的元素不可变且只会被消费一次,所有方法都设计成支持链式调用。使用Stream API可以极大提高生产力,写出高效率、干净、简洁的代码。 1. 获取Stream实例 Stream提供了静态构建方法,可以基于不同的参数创建返回Stream实例。使用Collection的子类实例调用stream()或者parallelStream()方法也可以得到Stream实例,两个方法的区别在于后续执行Stream其他方法的时候是单线程还是多线程。 2. filter方法 filter方法用于根据指定的条件做过滤,返回符合条件的流。例如,获取只包含正数的流可以使用filter方法。 3. map方法 map方法用于将流中的每个元素执行指定的转换逻辑,返回其他类型元素的流。例如,转换成字符串流可以使用map方法。 4. mapToInt、mapToLong、mapToDouble方法 mapToInt、mapToLong、mapToDouble这三个方法是对map方法的封装,返回的是官方为各个类型单独定义的Stream,该Stream还提供了适合各自类型的其他操作方法。 5. flatMap方法 flatMap方法用于将流中的每个元素转换成其他类型元素的流。如果要得到所有订单的所有商品汇总,就可以使用该方法。 6. flatMapToInt、flatMapToLong、flatMapToDouble方法 flatMapToInt、flatMapToLong、flatMapToDouble这三个方法是对flatMap方法的封装,返回的是官方为各个类型单独定义的Stream,使用方法同上。 7. distinct方法 distinct方法用于对流中的元素去重,判断元素是否重复使用的是equals方法。 8. sorted方法 sorted方法用于对流中的元素进行排序。sorted有一个无参和一个有参的方法,用于对流中的元素进行排序。 9. reduce方法 reduce方法用于对流中的元素进行规约操作,返回一个 Optional 类型的值。 10. collect方法 collect方法用于对流中的元素进行收集操作,返回一个 Collector 类型的值。 11. forEach方法 forEach方法用于对流中的元素进行遍历操作,用于执行某些操作。 12. findFirst方法 findFirst方法用于返回流中的第一个元素,如果流为空,则返回空的 Optional 对象。 13. findAny方法 findAny方法用于返回流中的任意一个元素,如果流为空,则返回空的 Optional 对象。 Stream的使用可以极大提高生产力,写出高效率、干净、简洁的代码。但是,需要注意的是,Stream的使用需要遵守一定的规则和约定,以免出现问题。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。