Você está aqui: Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o elemento mais frequente em um vetor de inteiros em JavaQuantidade de visualizações: 543 vezes |
Nesta dica mostrarei como encontrar o elemento que se repete com mais frequência em um vetor de inteiros em Java. Para isso nós vamos um HashMap e um Set. O HashMap será usado para guardar cada elemento do vetor e a frequência com ele se repete. O Set, por sua vez, será usado para adicionamos os elementos do HashMap e acessar suas chaves e valores usando um objeto Entry. Veja o código completo para o exemplo: package estudos; import java.util.Arrays; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; public class Estudos{ public static void main(String[] args){ // vamos declarar um vetor de inteiros com valores repetidos int valores[] = {4, 8, 7, 2, 8, 7, 9, 8, 4}; // mostramos o vetor original System.out.println("O vetor original é: " + Arrays.toString(valores)); // agora criamos um HashMap com chaves e valores do tipo Integer HashMap<Integer, Integer> mapaContagem = new HashMap(); // agora varremos o vetor e adicionamos os seus elementos no HashMap for (int i : valores){ // o valor já está no hash map? if (mapaContagem.containsKey(i)){ // se o elemento existir, vamos incrementar a sua contagem mapaContagem.put(i, mapaContagem.get(i) + 1); } else{ // o elemento não existe ainda. Vamos acrescentá-lo com o valor 1 mapaContagem.put(i, 1); } } int elemento = 0; int frequencia = 1; // criamos um set a partir do hash map de contagem Set<Entry<Integer, Integer>> set = mapaContagem.entrySet(); // agora percorremos os elementos do set para obter o elemento // com maior frequência for (Entry<Integer, Integer> entry : set){ // a frequência atual é maior do que a frequência que temos? if(entry.getValue() > frequencia){ // guardamos o elemento elemento = entry.getKey(); // guardamos a frequência frequencia = entry.getValue(); } } // mostramos o resultado System.out.println("O elemento com maior frequência é: " + elemento); System.out.println("Ele aparece " + frequencia + " vezes"); } } Ao executar este código Java nós teremos o seguinte resultado: O vetor original é: [4, 8, 7, 2, 8, 7, 9, 8, 4] O elemento com maior frequência é: 8 Ele aparece 3 vezes |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |