The Algorithms logo
The Algorithms
AboutDonate

Absolute Max

s
A
a
R
R
A
A
C
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;
    }
}