Всем доброго вечера! Есть некий код, использующий лямбда выражения.
public class Calculator {
interface IntegerMath {
int operation(int a, int b);
}
int operateBinary(int a, int b, IntegerMath op) {
return op.operation(a, b);
}
public static void main(String... args) {
Calculator myApp = new Calculator();
IntegerMath addition = (a, b) -> a + b;
IntegerMath subtraction = (a, b) -> a - b;
System.out.println("40 + 2 = "
+ myApp.operateBinary(40, 2, addition));
System.out.println("20 - 10 = "
+ myApp.operateBinary(20, 10, subtraction));
}
}
Подобно этому надо реализовать нахождение max, min, sum, count. Знаю, что для этого можно использовать SummaryStatistics, но мне надо именно через эти выражения. Вот что есть у меня:
public class Solution2 {
interface RandomDouble {
double operation(double[] numbers);
}
public double operateBinary(double[] numbers, RandomDouble op) {
return op.operation(numbers);
}
public static void main(String[] args) {
Solution2 myApp = new Solution2();
// RandomDouble sum
// RandomDouble max
// RandomDouble min
System.out.println("Sum: " + myApp.operateBinary(numbers, sum));
System.out.println("Min: " + myApp.operateBinary(numbers, min));
System.out.println("Max: " + myApp.operateBinary(numbers, max));
}
}
Не знаю как прописать именно само выражение. Как это реализовать и возможно ли это? Спасибо заранее.