/* * Olio-ohjelmoinnin perusteet I. * * Java-kielen HashMap-luokan esittelyä geneeriset tyyppit kiinnittäen. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 11.2.2020. * */ // Myös HashMap on java.util-pakkauksessa. Set ja Map-luokat tarvitaan tulostukseen. import java.util.HashMap; import java.util.Set; import java.util.Map; public class SanakirjaTesti { public static void main(String[] args) { // Luodaan hajatustaulu siten, että avaimen tyypiksi (K) kiinnitetään Integer // ja avaimeen liittyvän arvon tyypiksi (V) String. HashMap hajautustaulu = new HashMap(); // Lisätään hajautustauluun avain - arvo-pareja. Java käärii kokonaisluvut // ja merkkijonot automaattisesti Integer- ja String-tyyppisiksi olioiksi. hajautustaulu.put(6, "Paul Pogba"); hajautustaulu.put(7, "Antoine Griezmann"); hajautustaulu.put(1, "Hugo Lloris"); hajautustaulu.put(2, "Benjamin Pavard"); hajautustaulu.put(10, "Kylian Mbappé"); // Haetaan arvoja avaimilla 7 ja 10. String numero7 = hajautustaulu.get(7); String numero3 = hajautustaulu.get(3); // Tulostetaan haun tulokset. System.out.println(numero7); // Antoine Griezmann System.out.println(numero3); // null // Poistetaan pari. String numero6 = hajautustaulu.remove(6); // Tulostetaan hajautustaulun sisältö for-each-silmukalla, joka käy läpi // hajautustaulun sisältämät parit, jotka on kopioitu joukoksi. // Tulostuksen voi toteuttaa usealla eri tavalla ja tässä esitettyä // tapaa helpompia ratkaisuja löytyy. Set> parit = hajautustaulu.entrySet(); for (Map.Entry pari : parit) { // 1=Hugo Lloris System.out.println(pari); // 2=Benjamin Pavard } // 7=Antoine Griezmann } // 10=Kylian Mbappé }