摘要: ParallelStream 并行流就是一个把内容拆分成多个数据块,用不同线程分别处理每个数据块的流。对收集源调用parallelStream方法就能将集合转换为并行流。 并行流 并行流和顺序流转换 parallel 和 sequential Integer reduce = Stream.iter 阅读全文
posted @ 2020-09-05 07:43 GGuoLiang 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 方法引用 方法引用可以被看作仅仅调用特定方法的Lambda的一种快捷写法。如果一个Lambda代表的只是“直接调用这个方法”,那最好还是用名称来调用它,而不是去描述如何调用它。 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用。 构建方式 类 :: 静态方法 Comparator 阅读全文
posted @ 2020-09-02 21:33 GGuoLiang 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Lambda 行为参数化 软件工程中一个众所周知的问题就是,不管你做什么,用户的需求肯定会变。例如:有个应用程序是帮助农民了解自己的库存。这位农民可能想要一个查找库存中所有绿色苹果的功能。但到了第二天,他可能会告诉你:“其实我还想找出所有重量超过150克的苹果。”过了两天,农民又跑回来补充道:“要是 阅读全文
posted @ 2020-09-01 15:07 GGuoLiang 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Functional 函数式(Functional)接口 只包含一个抽象方法的接口,称为函数式接口。 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明)。 我们可以在一个接口上使用 @Fu 阅读全文
posted @ 2020-08-18 10:31 GGuoLiang 阅读(596) 评论(0) 推荐(0) 编辑
摘要: Stream 遍历数据集的高级迭代器。使用StreamApi让代码: 声明式:更简洁,更易读;可复合:更灵活;可并行:性能更好; 使用流 流的使用一般包括三件事: 一个数据源(如集合)来执行一个查询;一个中间操作链,形成一条流的流水线;一个终端操作,执行流水线,并能生成结果; 流操作 创建操作 创建 阅读全文
posted @ 2020-08-17 15:09 GGuoLiang 阅读(123) 评论(0) 推荐(0) 编辑