[quote=ViniGodoy]Veja o código completo:
[code]package snippet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class Snippet {
public static void main(String[] args) {
List<String> lista = new ArrayList<String>();
lista.add(“Adao-Bastos”);
lista.add(“Ana-Costa”);
lista.add(“Filipe-Celso”);
lista.add(“Ana-Costa”);
lista.add(“Ana-Costa”);
lista.add(“Filipe-Celso”);
lista.add(“Doroteia-Paulo”);
lista.add(“Filipe-Celso”);
lista.add(“Adao-Bastos”);
Map<String, Integer> cont = new TreeMap<String, Integer>();
for (String nome : lista) {
if (!cont.containsKey(nome))
cont.put(nome, 0);
cont.put(nome, cont.get(nome) + 1);
}
for (Map.Entry<String, Integer> entry : cont.entrySet()) {
System.out.printf("%s => %d%n", entry.getKey(), entry.getValue());
}
}
}
[/code]
E a saída que ele gerou:
Adao-Bastos => 2
Ana-Costa => 3
Doroteia-Paulo => 1
Filipe-Celso => 3[/quote]
desculpe ressuscitar o tópico, é que estou precisando de ajuda urgentemente, estou tentando aplicar o mesmo que vc fez aqui, tenho uma lista com nomes de cursos, e preciso saber quantas vezes cada nome de curso se repete na lista, mas não estou conseguindo, pois só está exibindo o último elemento da lista e sua respectiva quantidade, o que devo fazer para que exiba todos os elementos e suas respectivas quantidades?
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 puder me ajudar a descobrir onde estou errando, agradeço.