Olá galera tenho uma lista com nomes de cursos, e preciso saber quantas vezes cada nome de curso se repete na lista, tentei fazer segundo o procedimento citado nesse http://www.guj.com.br/java/252434-contar-o-numero-de-vezes-que-a-string-se-repete-na-list, mas não estou conseguindo, pois só está exibindo o último elemento da lista e sua quantidade, o que estou fazendo de errado?
a lista no momento está com os seguintes elementos retornados de uma consulta no banco de dados:
Operador de Microcomputador (IPD, Windows 7 e Word)
Operador de Microcomputador (IPD, Windows 7 e Word)
Projetista de Maquete Eletrônica no SketchUp
Excel Avançado
Operador de Áudio.
Só está aparecendo o ultimo ítem “Operador de audio - 1”
Segue meu código:
CursoDAO cDB = new CursoDAO();
ArrayList<Curso> lista;
cDB.conectar();
lista = cDB.contabilizarInscritos();
int total = 0;
Map<String, Integer> map = new TreeMap<String, Integer>();
for (Curso c:lista){
if (!map.containsKey(c.getNome())){
map.put(c.getNome(), 0);
map.put (c.getNome(), map.get(c.getNome()) + 1);
}
}
<table>
for (Map.Entry<String, Integer> entry : map.entrySet()){
<tr>
<td>
Nome do curso: <%out.print (String.format ("%s", entry.getKey())); %>
</td>
<td>
Total de inscritos: <%out.print (String.format ("%d%n", entry.getValue())); %>
</td>
</tr>
}
</table>
Se puderem me ajudar a descobrir onde estou errando, agradeço.