美文网首页
复合 Lambda 表达式的有用方法

复合 Lambda 表达式的有用方法

作者: JESiller | 来源:发表于2021-09-08 10:48 被阅读0次

比较器复合

Comparator<Apple> c = Comparator.comparing(Apple::getWeight);
  • 逆序
inventory.sort(comparing(Apple::getWeight).reversed());
  • 比较器链
inventory.sort(comparing(Apple::getWeight) 
 .reversed() 
 .thenComparing(Apple::getCountry));
  • 谓词复合
Predicate<Apple> redAndHeavyAppleOrGreen = 
 redApple.and(a -> a.getWeight() > 150) 
 .or(a -> "green".equals(a.getColor()));

函数复合

andThen方法会返回一个函数,它先对输入应用一个给定函数,再对输出应用另一个函数。比如,假设有一个函数f给数字加1 (x -> x + 1),另一个函数g给数字乘2,你可以将它们组合成一个函数h,先给数字加1,再给结果乘2:

Function<Integer, Integer> f = x -> x + 1; 
Function<Integer, Integer> g = x -> x * 2; 
Function<Integer, Integer> h = f.andThen(g); 
int result = h.apply(1);

输出结果为 4。

相关文章

  • 复合 Lambda 表达式的有用方法

    比较器复合 逆序 比较器链 谓词复合 函数复合 andThen方法会返回一个函数,它先对输入应用一个给定函数,再对...

  • Lambda表达式

    函数式接口 复合Lambda表达式 比较器复合 谓词复合 函数复合

  • Lambda表达式

    Lambda表达式 >> Lambda表达式和高阶方法Lambda表达式是一种匿名方法的表示方式。Lambda表达...

  • Java8学习笔记--Lambda表达式,Functional接

    主要内容 Lambda表达式 Functional接口 方法引用 1.Lambda表达式 Lambda表达式这个新...

  • Java的Lambda表达式

    Java的Lambda表达式 1. 什么是Lambda表达式 简单的说,Lambda表达式就是匿名方法。Lambd...

  • Kotlin之Lambdas

    Lambdas Lambda表达式是一种很简单的方法,去定义一个匿名函数。Lambda是非常有用的,因为它们避免我...

  • 7 Lambda表达式

    Lambda表达式是Java8的重要更新,Lambda表达式支持将代码块作为方法参数,Lambda表达式允...

  • java8

    1.lambda表达式《java8 Lambda表达式简介》 《java8 lambda表达式,方法的引用以及构造...

  • lambda表达式

    11. lambda表达式 lambda表达式本质上是一组匿名方法比如 obviously,lambda表达式由三...

  • Lambda表达式学习

    11. lambda表达式 lambda表达式本质上是一组匿名方法比如 obviously,lambda表达式由三...

网友评论

      本文标题:复合 Lambda 表达式的有用方法

      本文链接:https://www.haomeiwen.com/subject/umqvwltx.html