# Find the Max Number in an Array in Java

Rupam Yadav Jan 30, 2023 May 31, 2021

An array contains data of a similar type. While you can already read all the elements and perform several operations on them, this article will show you how to find the max value in an array in Java.

## Find Maximum Number in an Array Using the Iterative Way

This method is the traditional way to find the maximum number from an array. It includes an iterator that is used to go through every element in the array. Below, we have an array of integers, `intArray`; first, we create a variable `maxNum` and initialize it with the first element of `intArray`.

We create an enhanced for-loop that takes the array and returns every single element in each iteration. Then, we check each element with `maxNum` that has 24, and once it finds a greater number than 24, it replaces 24 with that number in `maxNum`. It will replace the number in `maxNum` until it reaches the end of the array; otherwise, it didn’t find a bigger number than the existing value in `maxNum`.

``````public class ArrayMax {
public static void main(String[] args) {
int[] intArray = {24, 2, 0, 34, 12, 110, 2};

int maxNum = intArray;

for (int j : intArray) {
if (j > maxNum)
maxNum = j;
}

System.out.println("Maximum number = " + maxNum);
}
}
``````

Output:

``````Maximum number = 110
``````

## Find Maximum Number in an Array Using `Stream`

Java 8 introduced the `Stream API` that provides several useful methods. One of them is the `Arrays.stream()` method that takes an array and returns a sequential stream. In our case, we have an array of the `int` type, and when we pass it in the stream, it returns an `IntStream`.

The `IntStream` function comes with a method `max()` that helps to find the maximum value in the stream. It returns an `OptionalInt` that describes that the stream might have empty `int` values too.

At last, as we want the maximum number as an `int`, we’ll use the `optionalInt.getAsInt()` method that returns the result as an `int` type.

``````import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;

public class ArrayMax {
public static void main(String[] args) {
int[] intArray = {24, 2, 0, 34, 12, 11, 2};

IntStream intStream = Arrays.stream(intArray);
OptionalInt optionalInt = intStream.max();
int maxAsInt = optionalInt.getAsInt();

System.out.println("Maximum number = " + maxAsInt);
}
}
``````

Output:

``````Maximum number = 34
``````

## Find Maximum Number in an Array Using `Arrays.sort()`

The last technique in this list uses the sorting method that organizes the array in ascending order. To sort the array, we use the function `Arrays.sort()` and pass `intArray` as an argument.

To see how the array will look like after the sort operation, we print it. Now, as the array is sorted and the largest number of all is at the left-most position, we get its position using the `intArray.length - 1` function, which is at the last position of the array.

``````import java.util.Arrays;

public class ArrayMax {
public static void main(String[] args) {
int[] intArray = {24, 340, 0, 34, 12, 10, 20};

Arrays.sort(intArray);

System.out.println("intArray after sorting: " + Arrays.toString(intArray));

int maxNum = intArray[intArray.length - 1];
System.out.println("Maximum number = " + maxNum);
}
}
``````

Output:

``````intArray after sorting: [0, 10, 12, 20, 24, 34, 340]
Maximum number = 340
``````