package com.levelup.java.array;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;
import org.apache.commons.lang3.math.NumberUtils;
import org.junit.Test;
import com.google.common.primitives.Ints;
/**
* This java example will demonstrate finding the max value in array
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/maximum-value-in-array/'>Max value in array</a>
*
*/
public class MaxValueInArray {
int[] numbers = {1, 24, 45, 62, 85, 8, 91, 3, 5, 56, 9};
@Test
public void find_max_value_in_numeric_array_with_java () {
int highest = numbers[0];
for (int index = 1; index < numbers.length; index ++) {
if (numbers[index] > highest) {
highest = numbers [index];
}
}
assertEquals(91, highest);
}
@Test
public void find_max_value_in_numeric_array_with_java8 () {
OptionalInt highest = Arrays.stream(numbers).max();
assertEquals(91, highest.getAsInt());
// or
OptionalInt highest2 = IntStream.of(numbers).max();
assertEquals(91, highest2.getAsInt());
}
@Test
public void find_max_value_in_numeric_array_with_guava () {
int highest = Ints.max(numbers);
assertEquals(91, highest);
}
@Test
public void find_max_value_in_array_with_apache_commons () {
int highest = NumberUtils.max(numbers);
assertEquals(91, highest);
}
}