摘要:
1 Stream的使用 在深入学习Stream的本质之前,我们需要先熟悉Stream的使用规则。对Stream有了整体的认识之后,才能更好的理解它的本质。 1.1 使用步骤 使用Stream只需要遵循3个步骤: 创建流。 逻辑处理。 收集结果。 例如,我们需要考试分数大于60分的人数: // 考试分 阅读全文
摘要:
Stream是Java8提供的一种更加简便的,对集合类型数据结构的处理API。 这里的集合类型数据结构包括各种数组(int[]/String[]等),也包括Collection和Map等实现类。 1 传统方式操作集合 在处理集合类型数据结构时,我们通常会遍历得到每个元素,对每个元素进行处理。操作维度 阅读全文
摘要:
1 什么是方法/构造器引用 简单来说,方法引用是对lambda表达式的一种更加简便的写法。 所谓引用,就是对当前已存在的一段代码的借用。 方法引用则是隐式借用已经存在的方法作为现成的执行逻辑,而不必在lambda表达式中显示调用该方法,或者重写这一部分代码。 同理,构造器引用则是隐式借用某个类的构造 阅读全文
摘要:
0 捕获自由变量 为了使lambda表达式看起来更像是函数式编程,可以在函数内部直接访问外部变量。lambda表达式具有一个特殊的能力,它可以捕获自由变量。 自由变量指的是lambda表达式外(之前)的变量,如: String str = "Hello, lambda!"; () -> { Syst 阅读全文
摘要:
代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法。 1.1 案例 有以下List<Integer>对象: List<Integer> list = Arrays.asList(1, 3, 5, 7, 9, 2, 4 阅读全文