Como criar uma condição que conte a frequência de um vetor

Estou com dificuldade em criar um teste para que contente a frequência de um numero em um vetor de 10 posições segue a questão:

Utilizando a classe Scanner faça um programa que solicite a entrada de 10 números inteiros, verifique a freqüência de ocorrência de cada número no vetor.

public static void main(String[] args) 
{
    Scanner leitor =new Scanner(System.in);
    int vetor[]=new int[10];
    int i,count = 0;
    boolean condi=true;
    
    for (i = 0;i<vetor.length-1;i++){
       
        System.out.print("Digite 10 numeros : ");
        vetor[i]=leitor.nextInt();
        
     
         
         
     }
    if(){
        
        //já fiz diversos teste e não consegui  
    }
     
     
    
    for (i = 0;i<vetor.length-1;i++){
        System.out.println(vetor[i]+":"+count);
    }
    

 }

vamos la

tem formas e formas de fazer isso.

uma dela consiste em criar um vetor de frequencia ( começando em 0 ) de 2 loops ( pense em i e j ) sobre todos os elementos do vetor ( sim 2 vezes ).

quando i != j, veja se vetor[i] == vetor[j] e caso positivo incremente a posicao i do vetor de frequencia.

no final vc vai ter a frequencia de tudo.

é claro que é uma forma demorada, porém vc precisaria de estruturas de dados mais adequadas para otimizar ( como o hash ) ou conhecer algum algoritmo de ordenação ( pq ai estando em ordem vc só varre o vetor e ve se o proximo elemento é igual ao corrente, tipo 1,1, 1, 2, 2, 3 fica facil de ver né )

2 curtidas

Vlw muito obrigado