Frequência de elementos
Em código real, você frequentemente precisa saber quantas vezes cada item aparece numa lista - como contar votos, analisar respostas de formulários ou encontrar duplicatas em um conjunto de dados. Usar Collections.frequency() diretamente num loop sem rastrear elementos já contados leva a trabalho redundante e totais incorretos. Dominar esse padrão evita reinventar a roda e mantém seu código conciso.
O PROBLEMA
Conte frequência com Collections.frequency().
EXEMPLO
a: 3, b: 2, c: 1
SOBRE O CONCEITO
O método Collections.frequency(lista, elemento) retorna quantas vezes elemento aparece em lista. Mas se você percorrer todos os elementos da lista e chamar frequency para cada um, contará o mesmo elemento várias vezes - uma para cada ocorrência dele. Por exemplo, na lista ["a","a","b"], chamar frequency para cada posição dá 2, 2, 1; depois imprimir esses valores repete "a" duas vezes. Para evitar isso, você precisa registrar quais elementos já foram contados, geralmente usando outra lista ou uma marcação booleana. O erro 'contar mesmo elemento várias vezes' ocorre exatamente porque o laço não pula elementos já contados. Usar um ArrayList separado para armazenar os elementos já contados e verificar com contains antes de chamar frequency resolve o problema.
RESOLUÇÃO