Olá pessoal.
Tava fazendo um método aqui que conta quanto cada letra apareceu repetidamente em uma frase.
Para isso, usei um HashMap. Entretanto, quando preciso atualizar a quantidade de vezes que um caractere aparece, eu preciso remover do HashMap e depois inseri-lo novamente com o novo valor. Alguem sabe se existe um meio de editar o valor sem ter que retirá-lo?
public static void main(String[] args) {
Map<Character, Integer> repeticao = new HashMap<Character, Integer>();
System.out.print("Digite uma frase: ");
String frase = new Scanner(System.in).nextLine();
frase = frase.toUpperCase();
for (Character c : frase.toCharArray()) {
Integer qtd = repeticao.get(c);
if (qtd == null) {
repeticao.put(c, new Integer(1));
} else {
qtd++;
repeticao.remove(c); // removo
repeticao.put(c, new Integer(qtd)); //insiro a mesma letra com novo valor
}
}
for (Map.Entry<Character, Integer> o : repeticao.entrySet()) {
System.out.println("Letra: " + o.getKey() + " - Aparicao: "
+ o.getValue());
}
}
obg.
