Witam, mam problem ze zrozumieniem HashSet i HashMap. O ile w HashSet sprawa jest prostasza, jedna zmienna string, funkcja leci przez cały plik txt i zlicza wyrazy:
for (String wyraz : listaWyrazow) { //ile wyrazow w pliku
System.out.println(++ile + " " + wyraz);
}
HashSet<String> zbiorWyrazow = new HashSet<>(); //ile wyrazow roznych
for (String wyraz : listaWyrazow) {
zbiorWyrazow.add(wyraz);
}
ile = 0;
for (String wyraz : zbiorWyrazow) {
System.out.println(++ile+" "+wyraz);
}
Tak do końca nie pojmuję HashMap. Chcę by zliczał wystąpienia danego słowa, dodajemy integera, ale nie rozumiem jak dodać to wystąpienie:
HashMap<String,Integer> slownikWyrazow = new HashMap<>();
for (String wyraz : listaWyrazow) {
if (HashMap.containsKey(wyraz))
HashMap.put(wyraz, HashMap.get(wyraz) + 1);
else
HashMap.put(wyraz, 1);
}
Da się to właściwie zrobić przez Hashmap? Z neta wynika, że tak niby najlepiej.