Trova il numero massimo in un array in Java
- Trova il numero massimo in un array usando il modo iterativo
-
Trova il numero massimo in un array usando
Stream
-
Trova il numero massimo in un array usando
Arrays.sort()
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
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