![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java8函数编程
老卡记笔记
这个作者很懒,什么都没留下…
展开
-
关于java.util.stream包的详细说明
该包下的类用来支持元素流上的函数式操作,比如集合上的Map-Reduce操作。 如:int sum = widgets.stream() .filter(b -> b.getColor() == RED) .mapToInt(b -> b.getWeight()) .sum();这个例子,我们用一个Widget的集合变量widgets作为流的数据源,然后在这个流上执行filter-map-reduce...原创 2020-06-30 17:16:40 · 2353 阅读 · 0 评论 -
java1.8 Spliterator深入解读
1. 简介 Spliterator=Split + Iterator,从命名上来看就可以理解该接口的作用:拆分 + 迭代器。该接口主要结合集合类使用,从1.8之后,JDK提供的大多数集合类都提供了spliterator()方法用来返回该类对应的Spliterator。这个接口风格和Iterator类似,每个集合类提供相应的Spliterator。和Iterator区别是,该接口提供的是支持分割的遍历方式,拆分之后就可以进行并原创 2020-06-10 18:52:34 · 1014 阅读 · 0 评论 -
Java8 Supplier 源码详解示例
1. 简介 java8开始引入函数式编程,本文分析的就是该模块很常用的Supplier,顾名思义,该接口为声明一个供应商,用来获取指定泛型的实例,类似于工厂,执行该接口的获取实例方法(get)不支持接收参数。2. 方法说明2.1. get 该方法是接口的核心方法,供应商通过该接口返回实例。该方法类似于工厂模型的创建实例的方法,调用方不需要知道工厂怎么原创 2020-06-03 15:35:36 · 675 阅读 · 0 评论 -
java8 Predicate 源码详解示例
1. 简介 java8开始引入函数式编程,该接口用来定义逻辑判断的函数,类似于单元测试的Assert。通过实现Predicate来定义测试的标准,返回是否测试通过,核心方法就是test,传入待测试的值,返回测试结果(boolean类型)。该接口默认实现了组合的测试方式,支持【且/and】、【或/or】、【非/negate】的组合判断。2. 方法说明2.1. test &nb原创 2020-06-03 15:34:30 · 480 阅读 · 0 评论 -
java8 Consumer 源码详解示例
1. 简介 java8开始引入函数式编程,该接口定义为声明一个函数对象。顾名思义,实现该接口的类主要是用来消费数据,但是不返回结果,因此,在该接口的内部可以通过异步来实现业务的处理,而不影响数据的消费。该接口只支持一个参数。该接口和Function接口的主要区别是没有返回值。2. 方法说明2.1. accept 该方法是接口的核心方法,定义该函数的业原创 2020-06-01 22:35:39 · 608 阅读 · 0 评论 -
java8 Function 源码详解示例
1. 简介 java8开始引入函数式编程,该接口定义为声明一个函数对象,简单理解就是数据的函数:y=f(x),该接口接收两个泛型类型,第一个是调用函数的入参,第二个是函数执行的返回值,因此,该接口声明的函数对象,只能接收一个参数。实现该接口来创建的类可以在Lambda表达式中使用。2. 方法说明2.1. apply 该方法是接口的核心方法,定义该函数原创 2020-06-01 22:31:37 · 460 阅读 · 0 评论