📜  Java中的 BinaryOperator 接口

📅  最后修改于: 2022-05-13 01:55:44.336000             🧑  作者: Mango

Java中的 BinaryOperator 接口

BinaryOperator InterfaceJava .util 的一部分。从Java 8 开始引入的函数包,用于在Java中实现函数式编程。它表示一个二元运算符,它接受两个操作数并对它们进行操作以产生结果。然而,它与普通 BiFunciton 的区别在于它的参数和返回类型都是相同的。

该功能接口采用一个通用接口,即:-

  • T :表示输入参数的类型和操作的返回值

BinaryOperator 扩展了 BiFunction 类型。所以它从 BiFunction 接口继承了以下方法:

  • 应用(T t,T u)
  • andThen(函数 after)

分配给 BiaryOperator 类型对象的 lambda 表达式用于定义其apply() ,最终将给定操作应用于其参数。

BinaryOperator 接口中的函数

BinaryOperator 接口由以下函数组成:

1.maxBy()

此方法返回一个 BinaryOperator,它根据给定的比较器返回两个元素中的较大者

句法:

static  BinaryOperator 
    maxBy(Comparator comparator)

参数:它只接受一个参数,即比较器,它是比较器类的一个对象。

返回:此方法返回一个 BinaryOperator,它返回在基于给定比较器调用它时传递的两个对象中的最大值

下面是说明 maxBy() 方法的代码:

程序:

Java
import java.util.function.BinaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        BinaryOperator
            op = BinaryOperator
                     .maxBy(
                         (a, b) -> (a > b) ? 1 : ((a == b) ? 0 : -1));
 
        System.out.println(op.apply(98, 11));
    }
}


Java
import java.util.function.BinaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        BinaryOperator
            op = BinaryOperator
                     .minBy(
                         (a, b) -> (a > b) ? 1 : ((a == b) ? 0 : -1));
 
        System.out.println(op.apply(98, 11));
    }
}


输出:
98

2.minBy()

此方法返回一个 BinaryOperator,它根据给定的比较器返回两个元素中较小的一个

句法:

static  BinaryOperator 
    minBy(Comparator comparator)

参数:它只接受一个参数,即比较器,它是比较器类的一个对象。

返回:此方法返回一个 BinaryOperator,它返回根据给定比较器调用它时传递的两个对象中的最小值。

下面是说明 minBy() 方法的代码:

程序

Java

import java.util.function.BinaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        BinaryOperator
            op = BinaryOperator
                     .minBy(
                         (a, b) -> (a > b) ? 1 : ((a == b) ? 0 : -1));
 
        System.out.println(op.apply(98, 11));
    }
}
输出:
11