Hallo zusammen, ich möchte gerne eine Häufigkeitsanalyse selber schreiben. Als erstes muss man dafür ja die Buchstaben aus einer Eingabe zählen, dass hatte ich zuerst mit Arrays realisiert. Jetzt bin ich im Netz aber auf eine "bessere" Variante gestoßen
Daraufhin hab ich mir was zu HashMaps durchgelesen, aber ich versteh noch nicht ganz was der Code jetzt genau macht. Kann mir da jemand Stück für Stück erklären was passiert?
Code:
import java.util.HashMap;
import java.util.Set;
public class Main
{
public static void main(String[] args)
{
String input = "Das ist ein Test";
HashMap<Character, Integer> charMap = new HashMap<Character, Integer>();
for (int i = 0; i < input.length(); i++) {
Character key = input.charAt(i);
if (charMap.containsKey(key)) {
charMap.put(key, charMap.get(key)+1);
} else {
charMap.put(key, 1);
}
}
Set<Character> keySet = charMap.keySet();
for (Character character : keySet)
{
System.out.println(character + " = " + charMap.get(character));
}
}
}
Daraufhin hab ich mir was zu HashMaps durchgelesen, aber ich versteh noch nicht ganz was der Code jetzt genau macht. Kann mir da jemand Stück für Stück erklären was passiert?