Encontre o número máximo em um array em Java
- Encontre o número máximo em um array usando a maneira iterativa
-
Encontre o número máximo em um array usando
Stream
-
Encontre o número máximo em um array usando
Arrays.sort()
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn