Boa tarde galera,
Estou tentando pegar os valores mais repetidos de um array list porem não obtive sucessos nas tentativas…
Alguem tem alguma dica para que eu tente fazer ?
Vlw
Boa tarde galera,
Estou tentando pegar os valores mais repetidos de um array list porem não obtive sucessos nas tentativas…
Alguem tem alguma dica para que eu tente fazer ?
Vlw
Por que um ArrayList? Por que não usa um HashMap ou algo do tipo?
“Os valores mais repetidos…” - dê um exemplo da entrada e da saída esperada do seu programa.
Isso ajuda a organizar as idéias.
entanglement,
A idéia é ler um Array ou HashMap com mais de 1000 linhas e mostrar as combinações mais repetidas, por exemplo :
10 15
11 02
55 91
10 15
68 47
25 17
16 80
11 02
10 15
68 47
04 05
11 12
10 15
O resultado seria em ordem de repetimento:
1° 10 15
2° 11 02
…
Você quer organizar os dados lidos em ordem decrescente de repetições?
a) Crie um Map<Integer, Integer> cuja chave seja o número, e cujo valor seja a quantidade de repetições desse número.
Por exemplo, para a entrada 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, você teria o seguinte mapa:
1 -> 2
2 -> 1
3 -> 2
4 -> 1
5 -> 3
6 -> 1
9 -> 1
b) A seguir, crie um SortedMap<Integer, List> cuja chave seja a quantidade de repetições, e cujo valor seja uma lista contendo os números que têm essa mesma quantidade de repetições. Neste caso:
1 -> [2, 4, 6]
2 -> [1, 3]
3 -> [5]
c) Imprima esse SortedMap na ordem inversa. Teríamos:
5 (repetido 3 vezes)
1 (repetido 2 vezes)
3 (repetido 2 vezes)
2 (repetido 1 vez)
4 (repetido 1 vez)
6 (repetido 1 vez)
Como é que você usa SortedMap? O Google é seu amigo 
entanglement,
Já ajudou de mais cara, vlw pela dica, assim que eu chegar em casa vou tentar e posto o resultado aqui…
Vlw !
entanglement
Cara, cheguei no seguinte código, mais acho que tem muito a melhorar ai… por favor de opiniões para que eu possa realizar as modificações… não utilizei o SortedMap pois estou realizando testes ainda…
public class testando {
public static void main(String args[]) {
ArrayList<Integer> resultado = new ArrayList<Integer>();
resultado.add(25);
resultado.add(2);
resultado.add(5);
resultado.add(2);
resultado.add(2);
resultado.add(25);
resultado.add(25);
resultado.add(25);
resultado.add(25);
int teste;
int qnt = 0;
HashMap<Integer, Integer> resultt = new HashMap<Integer, Integer>();
for (Integer aux : resultado) {
teste = aux;
for (Integer aux2 : resultado) {
if (teste == aux2) {
qnt++;
}
}
resultt.put(teste, qnt);
qnt = 0;
}
System.out.println(resultt.get(25));
System.out.println(resultt.get(2));
}