Map-kokoelmat ja frekvenssien laskenta
Tutustukaa Map-kokoelman perusteisiin (put/get/remove), alkioiden läpikäyntiin, sanatiheyslaskuriin ja TreeMap-kokoelmaan lajiteltua näkymää varten.
Map-kokoelmat ja frekvenssien laskenta on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mikä Map on?
Map tallentaa avain→arvo-pareja. Hyviä vaihtoehtoja:
- HashMap: nopea, ei järjestystä.
- TreeMap: avaimet lajiteltuina.
- LinkedHashMap: säilyttää lisäysjärjestyksen.
Yleiset operaatiot
Päätoiminnot:
- put(k,v), get(k), containsKey(k), remove(k)
- Koko: size()
- Silmukka: entrySet() avainten ja arvojen käsittelyyn.
Koodi: Mapin perusteet
Avaimet ovat yksilöllisiä. Saman avaimen käyttäminen uudelleen korvaa sen arvon. Käyttäkää entrySet()-metodia merkintöjen läpikäyntiin.
public class Main {
public static void main(String[] args) {
java.util.Map<String, Integer> scores = new java.util.HashMap<>();
scores.put("Ada", 90);
scores.put("Bob", 75);
scores.put("Ada", 95); // replaces old value
System.out.println("Bob's score=" + scores.get("Bob"));
System.out.println("Has Ada? " + scores.containsKey("Ada"));
scores.remove("Bob");
for (java.util.Map.Entry<String, Integer> e : scores.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
Esiintymien laskeminen
Sanamäärä: käykää sanat läpi ja päivittäkää arvo getOrDefault-metodilla: map.put(w, map.getOrDefault(w,0)+1).
Koodi: sanojen esiintymistiheys
getOrDefault lyhentää laskentaa. Jokainen sana kasvattaa nykyistä laskuria yhdellä.
public class Main {
public static void main(String[] args) {
String[] words = { "to", "be", "or", "not", "to", "be" };
java.util.Map<String,Integer> counter = new java.util.HashMap<>();
for (String w : words) {
int newVal = counter.getOrDefault(w, 0) + 1;
counter.put(w, newVal);
}
System.out.println(counter);
}
}
Koodi: TreeMap lajiteltuna
TreeMap lajittelee avaimet automaattisesti. Näin tulokset voi tulostaa nopeasti aakkosjärjestyksessä.
public class Main {
public static void main(String[] args) {
java.util.Map<String,Integer> counts = new java.util.HashMap<>();
counts.put("banana",2);
counts.put("apple",3);
counts.put("cherry",1);
java.util.Map<String,Integer> sorted = new java.util.TreeMap<>(counts);
for (java.util.Map.Entry<String,Integer> e : sorted.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
HashMapin tarkistus
Pikatarkistus: Mikä HashMapia koskeva väite pitää paikkansa?
Kertaus
Kertaus: Map-rakenteet tallentavat avain→arvo-pareja. Opitte put-, get- ja remove-toiminnot, sanojen laskemisen getOrDefault-metodilla sekä järjestetyt näkymät TreeMap-rakenteella.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Map-kokoelmat ja frekvenssien laskenta” ilmainen?
Kyllä – oppitunnin ”Map-kokoelmat ja frekvenssien laskenta” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Map-kokoelmat ja frekvenssien laskenta”?
Tutustukaa Map-kokoelman perusteisiin (put/get/remove), alkioiden läpikäyntiin, sanatiheyslaskuriin ja TreeMap-kokoelmaan lajiteltua näkymää varten. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Map-kokoelmat ja frekvenssien laskenta”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Map-kokoelmat ja frekvenssien laskenta
- Comparable ja Comparator
- Lajittelu ja haku Collections-kirjastolla