Encontre o número máximo em um array em Java

Rupam Yadav 12 outubro 2023
  1. Encontre o número máximo em um array usando a maneira iterativa
  2. Encontre o número máximo em um array usando Stream
  3. Encontre o número máximo em um array usando Arrays.sort()
Encontre o número máximo em um array em Java

um array contém dados de um tipo semelhante. Embora você já possa ler todos os elementos e executar várias operações neles, este artigo mostrará como encontrar o valor máximo em um array em Java.

Encontre o número máximo em um array usando a maneira iterativa

Este método é a maneira tradicional de encontrar o número máximo de um array. Inclui um iterador que é usado para percorrer todos os elementos do array. Abaixo, temos um array de inteiros, intArray; primeiro, criamos uma variável maxNum e a inicializamos com o primeiro elemento de intArray.

Criamos um for-loop aprimorado que pega o array e retorna cada elemento em cada iteração. Em seguida, verificamos cada elemento com maxNum que tem 24 e, uma vez que encontra um número maior que 24, ele substitui 24 por esse número em maxNum. Ele substituirá o número em maxNum até atingir o final do array; caso contrário, não encontrou um número maior do que o valor existente em maxNum.

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

    int maxNum = intArray[0];

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

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

Resultado:

Maximum number = 110

Encontre o número máximo em um array usando Stream

Java 8 introduziu a API Stream que fornece vários métodos úteis. Um deles é o método Arrays.stream() que pega um array e retorna um fluxo sequencial. No nosso caso, temos um array do tipo int, e quando o passamos no stream, ele retorna um IntStream.

A função IntStream vem com um método max() que ajuda a encontrar o valor máximo no fluxo. Ele retorna um OptionalInt que descreve que o fluxo também pode ter valores int vazios.

Por fim, como queremos o número máximo como um int, usaremos o método optionalInt.getAsInt() que retorna o resultado como um tipo int.

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);
  }
}

Resultado:

Maximum number = 34

Encontre o número máximo em um array usando Arrays.sort()

A última técnica nesta lista usa o método de classificação que organiza a matriz em ordem crescente. Para classificar a matriz, usamos a função Arrays.sort() e passamos intArray como um argumento.

Para ver como o array ficará após a operação de classificação, nós o imprimimos. Agora, como a matriz é classificada e o maior número de todos está na posição mais à esquerda, obtemos sua posição usando a função intArray.length - 1, que está na última posição do 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);
  }
}

Resultado:

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

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - Java Array