LinkinPark
当你的才华撑不起你野心时,那么请潜下心继续学习,心无旁骛,愿多年以后你们我都能成为自己想象的模样。
摘要: 到目前为止,我们已经将整型收集到了一个Stream的流中,不过将每个整数包装成相应对象显然是一个低效的做法,对于其他的基本类型也是一样,我们前面说过jdk提供包装类已经自动装箱和拆箱只是为了面向对象编程,我们不应该滥用。为此,流API提供了IntStream,LongStream,DoubleS... 阅读全文
posted @ 2015-11-09 16:46 LinkinPark 阅读(556) 评论(0) 推荐(0)
摘要: 提取子流和组合流 1,limit(n)会返回一个包含n个元素的新流,如果原始流的长度小于n,则会返回原始的流。这个方法可用来裁剪指定长度的流。 2,skip(n)正好相反,它会丢弃掉前面的n个元素。 3,静态方法,concat()方法将2个流连接在一起。注意一点,第一个流的长度不应该是无限的,... 阅读全文
posted @ 2015-11-09 16:44 LinkinPark 阅读(189) 评论(0) 推荐(0)
摘要: 在Stream流操作中,比如说min(),max(),count()方法,这几个操作都会将一个流缩减成一个值,流API将这些操作称为特例缩减。另外,流API同时泛华了缩减这种概念,提供了reduce()方法,通过使用reduce()方法,可以基于任意条件,从流中返回一个值。根据定义,所有缩减操作... 阅读全文
posted @ 2015-11-09 16:42 LinkinPark 阅读(262) 评论(0) 推荐(0)
摘要: 分组和分片 对具有相同特性的值进行分组时一个很常见的任务,我们可以直接使用groupingBy来进行分组。 当分类函数是一个predicate函数时,流会被分成2组列表,一组返回true,一组返回false。 public class Test{ public static void main(... 阅读全文
posted @ 2015-11-09 16:40 LinkinPark 阅读(548) 评论(0) 推荐(0)
摘要: 虽然流不是数据存储对象,但是仍然可以使用迭代器来遍历其元素,就如同使用迭代器遍历集合中的元素一样。 流API支持2类迭代器,一类是传统的Iterator,另一类是JDK8新增的Spliterator。 对流使用传统的迭代器 要获得流的迭代器,在流上调用interator()方法,然后调用h... 阅读全文
posted @ 2015-11-09 16:35 LinkinPark 阅读(260) 评论(0) 推荐(0)
摘要: 前面的一系列博客中,我们都是从一个集合中拿到一个流,但是有时候需要执行反操作,就是从流中获得集合。实际编码中,当我们处理完流后,我们通常想查看下结果,而不是将他们聚合成一个值。我们可以调用iterator方法来生成一个传统风格的迭代器,用于访问元素。 1,将流中的元素收集到一个数组中,调用t... 阅读全文
posted @ 2015-11-09 16:33 LinkinPark 阅读(246) 评论(0) 推荐(0)
摘要: 很多时候,将一个流的元素映射到另外一个流很有帮助。映射操作最具代表的就是map()方法。实际编码中,我们会经常用到,所以这里专门整理一篇博客。 考虑如下情景,对于一个包含了姓名,电话,年龄等属性构成的数据库的流,我们现在只想处理这个流中的姓名属性。或者是我们希望对流中一些元素做一些转换,比如只针... 阅读全文
posted @ 2015-11-09 16:30 LinkinPark 阅读(316) 评论(0) 推荐(0)
摘要: 这篇博客一起来研究下使用并行流。借组多核处理器并行执行代码可以显著提高性能,但是并行编程可能十分复杂且容易出错,流API提供的好处之一是能够轻松可靠的并行执行一些操作。请求并行处理流,首先要获得一个并行流。 获取一个并行流有2个方法: 1,Collection定义的parallelStream(... 阅读全文
posted @ 2015-11-09 16:27 LinkinPark 阅读(1962) 评论(1) 推荐(0)
摘要: 流接口--BaseStream接口 流API定义了几个流接口,这些接口包含在java.util.stream中。BaseStream是基础接口,它定义了所有流都可以使用的基本功能。我们来看一下源码: public interface BaseStream> extends AutoClosea... 阅读全文
posted @ 2015-11-09 16:24 LinkinPark 阅读(875) 评论(0) 推荐(0)
摘要: 在JDK8新增的许多功能中,有2个功能最重要,一个是Lambda表达式,一个是流API。Lambda表达式前面我已经整理过了,现在开始整理流API。首先应该如何定义流API中的“流”这个概念呢?记住:流是数据的渠道。 高中的时候我们就学过电流,水流,磁场流,然后java中还有io流,那么这个流... 阅读全文
posted @ 2015-11-09 16:20 LinkinPark 阅读(275) 评论(0) 推荐(0)