package com.thealgorithms.maths;
import java.util.Arrays;
public class AbsoluteMax {
/**
* Compares the numbers given as arguments to get the absolute max value.
*
* @param numbers The numbers to compare
* @return The absolute max value
*/
public static int getMaxValue(int... numbers) {
if (numbers.length == 0) {
throw new IllegalArgumentException("Numbers array cannot be empty");
}
var absMaxWrapper = new Object() {
int value = numbers[0];
};
Arrays
.stream(numbers)
.skip(1)
.filter(number -> Math.abs(number) > Math.abs(absMaxWrapper.value))
.forEach(number -> absMaxWrapper.value = number);
return absMaxWrapper.value;
}
}