Trouver le nombre maximum dans un tableau en Java

Rupam Yadav 12 octobre 2023
  1. Trouver le nombre maximum dans un tableau à l’aide de la méthode itérative
  2. Trouver le nombre maximum dans un tableau à l’aide de Stream
  3. Trouver le nombre maximum dans un tableau à l’aide de Arrays.sort()
Trouver le nombre maximum dans un tableau en Java

Un tableau contient des données d’un type similaire. Bien que vous puissiez déjà lire tous les éléments et effectuer plusieurs opérations dessus, cet article vous montrera comment trouver la valeur maximale dans un tableau en Java.

Trouver le nombre maximum dans un tableau à l’aide de la méthode itérative

Cette méthode est la manière traditionnelle de trouver le nombre maximum à partir d’un tableau. Il comprend un itérateur qui est utilisé pour parcourir chaque élément du tableau. Ci-dessous, nous avons un tableau d’entiers, intArray; d’abord, nous créons une variable maxNum et l’initialisons avec le premier élément de intArray.

Nous créons une boucle for améliorée qui prend le tableau et renvoie chaque élément à chaque itération. Ensuite, nous vérifions chaque élément avec maxNum qui a 24, et une fois qu’il trouve un nombre supérieur à 24, il remplace 24 par ce nombre dans maxNum. Il remplacera le nombre dans maxNum jusqu’à ce qu’il atteigne la fin du tableau ; sinon, il n’a pas trouvé un nombre plus grand que la valeur existante dans 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);
  }
}

Production:

Maximum number = 110

Trouver le nombre maximum dans un tableau à l’aide de Stream

Java 8 a introduit la Stream API qui fournit plusieurs méthodes utiles. L’une d’entre elles est la méthode Arrays.stream() qui prend un tableau et renvoie un flux séquentiel. Dans notre cas, nous avons un tableau de type int, et lorsque nous le passons dans le flux, il renvoie un IntStream.

La fonction IntStream est livrée avec une méthode max() qui permet de trouver la valeur maximale dans le flux. Il renvoie un OptionalInt qui décrit que le flux peut également avoir des valeurs int vides.

Enfin, comme nous voulons le nombre maximum comme un int, nous utiliserons la méthode optionalInt.getAsInt() qui renvoie le résultat sous la forme d’un type 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);
  }
}

Production:

Maximum number = 34

Trouver le nombre maximum dans un tableau à l’aide de Arrays.sort()

La dernière technique de cette liste utilise la méthode de tri qui organise le tableau par ordre croissant. Pour trier le tableau, nous utilisons la fonction Arrays.sort() et passons intArray en argument.

Pour voir à quoi ressemblera le tableau après l’opération de tri, nous l’imprimons. Maintenant, comme le tableau est trié et que le plus grand nombre de tous est à la position la plus à gauche, nous obtenons sa position en utilisant la fonction intArray.length - 1, qui est à la dernière position du tableau.

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

Production:

intArray after sorting: [0, 10, 12, 20, 24, 34, 340]
Maximum number = 340
Auteur: Rupam Yadav
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

Article connexe - Java Array