java函数式
madleep
这个作者很懒,什么都没留下…
展开
-
Optional的应用
一、使用步骤1.应用代码代码如下:public class OptionalTest { public static void main(String[] args) { User user = new User(); int ii = Optional.ofNullable(user) .flatMap(User::getAddress) .flatMap(Address::getCountry)原创 2021-08-25 22:50:08 · 59 阅读 · 0 评论 -
Stream流编程收集器
一、使用步骤1.代码示例代码如下:public class CollectorTest { public static void main(String[] args) { List<Student> students = Arrays.asList( new Student("小明", 10, Gender.MALE, Grade.ONE), new Student("小光", 9, Gender.M原创 2021-08-23 23:05:45 · 211 阅读 · 0 评论 -
Stream流编程终止操作
一、Stream终止操作二、使用步骤1.应用示例代码如下:public class TestForTerminateOperate { public static void main(String[] args) { /** * forEach和forEachOrdered的区别:forEach更快。当平行操作时,forEachOrdered会保持原来的 * 顺序,forEach则不会 */ IntStr原创 2021-08-23 23:01:13 · 1358 阅读 · 0 评论 -
Stream流编程的中间操作
一、Stram流的中间操作Stream的中间操作分为两类,一类为无状态操作:元素操作跟其它元素没有关系,另一类为有状态操作:元素操作跟其它元素有关,比如求最大最小值、求平均值、排序等二、使用步骤1.如何进行中间操作代码如下:public class StreamMediumOperate { public static void main(String[] args) { //map IntStream.of(1,2,3).map(x -> x *原创 2021-08-22 15:41:33 · 1070 阅读 · 0 评论 -
Stream流的创建
一、Stream流的创建Stream流编程分为三个部分,分别为流的创建、流的中间操作、流的终止操作。这一节我们进行流的创建二、使用步骤1.如何创建流代码如下(示例):public class StreamNew { public static void main(String[] args) { //根据集合产生 ArrayList list = new ArrayList(); list.stream(); list.pa原创 2021-08-22 14:42:17 · 177 阅读 · 0 评论 -
Stream概述
文章目录一、Stream是什么?二、初步应用1.代码示例2.结果总结一、Stream是什么?Stream是一个高级迭代器,它不是数据结构,不能存储数据。它可以用来实现内部迭代,内部迭代相比平常的外部迭代,它可以实现并行求值(高效,外部迭代要自己定义线程池实现多线程来实现高效处理)、惰性求值(中没有终止操作,中间操作是不会执行的)、短路操作(拿到正确的结果就返回,不需要等到整个过程完成之后)等二、初步应用1.代码示例代码如下(示例):public class StreamDemo1 { p原创 2021-08-22 14:01:59 · 1952 阅读 · 0 评论 -
函数式编程与lambda表达式
java函数式编程1:函数式编程的好处(1)提高编码效率,增加代码可读性(2)高阶函数允许我们 1、方法作为参数传给方法 2、别的方法里面创建方法 3、方法返回方法2:lambda表达式(1)定义1、() -> {} 括号里面传参数,大括号为执行体(2)作用1、取代大部分的匿名内部类2、写出更优雅的戴安3、集合遍历的时候能够极大的优化代码的结构4、对函数式接口进行实现(3)要求1、对接口要求:要求接口只有一个需要实现的方法。注意:不是只有一个方法的接口,jdk8之原创 2021-08-20 17:25:56 · 114 阅读 · 0 评论