Trova il numero massimo in un array in Java

Rupam Yadav 12 ottobre 2023
  1. Trova il numero massimo in un array usando il modo iterativo
  2. Trova il numero massimo in un array usando Stream
  3. Trova il numero massimo in un array usando Arrays.sort()
Trova il numero massimo in un array in Java

Un array contiene dati di tipo simile. Sebbene tu possa già leggere tutti gli elementi ed eseguire diverse operazioni su di essi, questo articolo ti mostrerà come trovare il valore massimo in un array in Java.

Trova il numero massimo in un array usando il modo iterativo

Questo metodo è il modo tradizionale per trovare il numero massimo da un array. Include un iteratore che viene utilizzato per passare attraverso ogni elemento dell’array. Sotto, abbiamo un array di interi, intArray; prima creiamo una variabile maxNum e la inizializziamo con il primo elemento di intArray.

Creiamo un bucle for avanzato che prende l’array e restituisce ogni singolo elemento in ogni iterazione. Quindi, controlliamo ogni elemento con maxNum che ha 24 e, una volta trovato un numero maggiore di 24, sostituisce 24 con quel numero in maxNum. Sostituirà il numero in maxNum fino a raggiungere la fine dell’array; in caso contrario, non ha trovato un numero maggiore del valore esistente in 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);
  }
}

Produzione:

Maximum number = 110

Trova il numero massimo in un array usando Stream

Java 8 ha introdotto l’API Stream che fornisce diversi metodi utili. Uno di questi è il metodo Arrays.stream() che accetta un array e restituisce un flusso sequenziale. Nel nostro caso, abbiamo un array del tipo int, e quando lo passiamo nello stream, restituisce un IntStream.

La funzione IntStream viene fornita con un metodo max() che aiuta a trovare il valore massimo nel flusso. Restituisce un OptionalInt che descrive che il flusso potrebbe avere anche valori int vuoti.

Infine, poiché vogliamo il numero massimo come int, utilizzeremo il metodo optionalInt.getAsInt() che restituisce il risultato come 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);
  }
}

Produzione:

Maximum number = 34

Trova il numero massimo in un array usando Arrays.sort()

L’ultima tecnica in questo elenco utilizza il metodo di ordinamento che organizza l’array in ordine crescente. Per ordinare l’array, usiamo la funzione Arrays.sort() e passiamo intArray come argomento.

Per vedere come apparirà l’array dopo l’operazione di ordinamento, lo stampiamo. Ora, poiché l’array è ordinato e il numero più grande di tutti si trova nella posizione più a sinistra, otteniamo la sua posizione utilizzando la funzione intArray.length - 1, che si trova nell’ultima posizione dell’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);
  }
}

Produzione:

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

Articolo correlato - Java Array