![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java8
程序员Aike
Just Keep Coding
-- https://github.com/codeaike/
展开
-
Java 8实战-Optional避免空指针
Java 8中引入了一个新的类java.util.Optional<T>,对存在或缺失的变量值进行建模 主要方法如下:(摘自《Java8实战》) ================================================================================================== empty 返回一个空的...原创 2018-11-17 18:05:11 · 204 阅读 · 1 评论 -
Java 8实战-观察者/责任链模式之Lambda表达
1、观察者模式: 观察者模式是一种比较常见的方案,某些事件发生时(比如状态转变),如果一个对象(通常我们称之为主题)需要自动地通知其他多个对象(称为观察者),就会采用该方案。 Lambda实现(无需定义 观察者实现类) package com.csdn.test.Observer; /** * 观察者 */ public interface Observer { void ...原创 2018-11-17 15:46:13 · 801 阅读 · 4 评论 -
Java 8实战-StreamVS传统for-each性能(续)
上篇 https://blog.csdn.net/zangdaiyang1991/article/details/83755306 《Java 8实战阅读-StreamVS传统for-each性能》 对"字符串遍历"这一常见场景进行简要分析,得到结论: 从性能角度考虑,遍历小数据量的List/Set这种一般场景不适合使用流式处理 ------------------------------...原创 2018-11-07 15:07:03 · 445 阅读 · 0 评论 -
Java 8实战-收集器(Collect)
Java 8实战--收集器(Collectors中的静态方法) 1、转化为set/list/具体类型HashSet(toSet(),toList(),toCollection(HashSet::new)) 2、求和、平均、最大、最小、个数(summarizingInt,averagingInt等 ) 3、连接(joining),依次使用函数求值(reducing) 4、分组(一级、二级分组...原创 2018-11-07 10:57:34 · 712 阅读 · 0 评论 -
Java 8实战-数值Stream &Stream create
Java 8实战--Stream流的使用 1、数值流 IntStream LongStream DoubleStream 支持boxed/sum/max/min()等操作 2、生成流 Arrays.stream() / Stream.of/empty/iterate/generate(后两个为无限流) 由iterate和generate产生的流会用给定的函数按需创建值,因此可以无穷无尽地...原创 2018-11-06 17:38:18 · 199 阅读 · 0 评论 -
Java 8实战-Stream 查找&替换 VS 归约reduce
Java 8实战--Stream流的使用 1、查找和替换(anyMatch/allMatch/noneMatch/findAny/findFirst) A、注意点: * findFirst & findAny差异: * 为什么会同时有findFirst和findAny呢?答案是并行。 * (1)、找到第一个元素在并行上限制更多。...原创 2018-11-06 15:14:40 · 5387 阅读 · 1 评论 -
Java 8实战-Stream map VS flatMap
Java 8实战--Stream流的使用 1、Map--对流中每一个元素进行处理 2、flatMap--流扁平化,让你把一个流中的每个值都换成另一个流,然后把所有的流连接起来成为一个流 实践代码如下: import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public clas...原创 2018-11-06 11:32:24 · 1786 阅读 · 1 评论 -
Java 8实战-StreamVS传统for-each性能
Java 8实战-StreamVS传统for-each性能 1、Stream流式操作天然多线程(parallelStream),以下小数据量结果测验stream/parallelStream性能类似,说明stream小数据量场景性能不如foreach 2、流式数据重复消费,抛出illegalStateException:stream already upon or closed 实践代码如下: ...原创 2018-11-05 19:39:32 · 1050 阅读 · 0 评论 -
Java 8实战-函数式编程
Java 8实战-函数式编程 1、自定义特性接口(使用default关键字默认接口中函数实现) 2、谓词的复合(and or) 3、函数的复合(andThen) 管道处理必备 实践代码如下: import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util....原创 2018-11-05 17:52:07 · 224 阅读 · 0 评论