Package zone.lamprey.function
Interface BinaryOperator<T>
- Type Parameters:
T- the type of the operands and result of the operator
- All Superinterfaces:
BiFunction<T,T,T>,BiFunction<T,T,T>,BinaryOperator<T>
- All Known Subinterfaces:
DoubleBinaryOperator,IntBinaryOperator,LongBinaryOperator
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface BinaryOperator<T> extends BiFunction<T,T,T>, BinaryOperator<T>
Represents an operation upon two operands of the same type, producing a
result of the same type as the operands. This is a specialization of
BiFunction for the case where the operands and the result are all of
the same type.
This is a functional interface whose
functional method is BiFunction.apply(Object, Object).
- Since:
- 1.8
- See Also:
BiFunction,UnaryOperator
-
Method Summary
Modifier and Type Method Description default UnaryOperator<T>applyPartialL(T t)Performs a partial application, resulting in a function that calls this with its argument and the argument given here.default UnaryOperator<T>applyPartialR(T u)Performs a partial application, resulting in a function that calls this with its argument and the argument given here.default BinaryOperator<T>map(UnaryOperator<T> functor)Lift a function.static <T> BinaryOperator<T>maxBy(Comparator<? super T> comparator)Returns aBinaryOperatorwhich returns the greater of two elements according to the specifiedComparator.static <T> BinaryOperator<T>minBy(Comparator<? super T> comparator)Returns aBinaryOperatorwhich returns the lesser of two elements according to the specifiedComparator.Methods inherited from interface zone.lamprey.function.BiFunction
apply, applyPartial, consume, map, mapToDouble, mapToInt, mapToLong, predicate
-
Method Details
-
applyPartialL
Performs a partial application, resulting in a function that calls this with its argument and the argument given here.- Specified by:
applyPartialLin interfaceBiFunction<T,T,T>- Parameters:
t- the function argument- Returns:
- the function result
-
applyPartialR
Performs a partial application, resulting in a function that calls this with its argument and the argument given here.- Specified by:
applyPartialRin interfaceBiFunction<T,T,T>- Parameters:
u- the function argument- Returns:
- the function result
-
minBy
Returns aBinaryOperatorwhich returns the lesser of two elements according to the specifiedComparator.- Type Parameters:
T- the type of the input arguments of the comparator- Parameters:
comparator- aComparatorfor comparing the two values- Returns:
- a
BinaryOperatorwhich returns the lesser of its operands, according to the suppliedComparator - Throws:
NullPointerException- if the argument is null
-
maxBy
Returns aBinaryOperatorwhich returns the greater of two elements according to the specifiedComparator.- Type Parameters:
T- the type of the input arguments of the comparator- Parameters:
comparator- aComparatorfor comparing the two values- Returns:
- a
BinaryOperatorwhich returns the greater of its operands, according to the suppliedComparator - Throws:
NullPointerException- if the argument is null
-
map
Lift a function.- Parameters:
functor- The function to use in lifting.- Returns:
- A function that passes the result of fn through a functor to produce a lifted function.
-