Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuKai Ahola Muutettu yli 9 vuotta sitten
1
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1
2
Mikä Map on? Map on hajautustauluksi kutsuttu tietorakenne, johon tiedot tallennetaan avain-arvo-pareina (Key-Value pairs). Mapin avaimet ja arvot voivat olla mitä tahansa olioita. Esimerkki avain-arvo-pareista: tilinumero – Tili-luokan olio tuotekoodi – Tuote-luokan olio asiakastunnus – Asiakas-luokan olio Taulukossa (Array) ja listassa (List) tiedot löytyvät paikkanumeron eli indeksin perusteella, mutta Mapissa tiedot löytyvät sisällön/avaimen perusteella. Esim. pankkitilin tiedot löytyvät Map-rakenteesta tilinumero-avaimen perusteella. Ja tuotteen tiedot löytyvät Map- rakenteesta tuotekoodi-avaimen perusteella. 2
3
Mapin esittely ja luonti Ohjelmaan lisätään import java.util.Map; import java.util.HashMap; Pankkitilit tilinumero-avaimen mukaan Tuotteet tuotekoodi-avaimen mukaan Asiakkaat asiakastunnus-avaimen mukaan 3 Map asiakkaat = new HashMap (); Map tuotteet = new HashMap (); Map tilit = new HashMap (); mitä arvoja Mappiin laitetaan(luokka) tyhjän Mapin luominen avaimen tyyppi (luokka)
4
Map-luokan metodeja 4 Map-luokan metodiSelitys V get(K key)Palautetaan Mapista viite avaimella key löytyvään arvoon (tässä olioon). esim. Tili tili1 = tilit.get("Fi06512”); V put(K key, V value)Lisätään Mappiin avaimella key viite parametrina annettuun olioon. Metodi palauttaa viitteen lisättyyn olioon. esim. tilit.put(”Fi09923”, tili5); V remove(K key)Poistetaan Mapista avaimella key löytyvä viite olioon. Metodi palauttaa viitteen poistettuun olioon. esim. tilit.remove(”Fi12233”); Set keySet()Palauttaa Map-rakenteeseen talletetut avaimet Set-tyyppisenä kokoelmana. esim. Set tilinrot = tilit.keySet(); Huom! K = avaimen (Key) luokka-tietotyyppi, V = arvon (Value) luokka-tietotyyppi
5
Mappiin lisääminen // luo Map-rakenne, jonne talletetaan pankkitilien tietoja Map tilit = new HashMap (); String tilinro; // pankkitilin numero double saldo; // pankkitilin saldo System.out.print("Anna pankkitilin numero: "); tilinro = input.nextLine(); System.out.print("Anna pankkitilin saldo: "); saldo = input.nextDouble(); // input.nextLine() Tili uusiTili = new Tili(tilinro, saldo); // luo uusi Tili-olio tilit.put(tilinro, uusiTili); // jos listasta löytyy jo tili-olio // samalla tilinrolla, vanha tili-olio tuhoutuu, kun uusi // lisätään 5 Lisätään tilit-Mappiin uusiTili- olio. Olion avaimena tilinro.
6
Mapin läpikäynti // Mapin tilinumero-avaimet pyydetään keySet-metodilla Set:ksi Set tilinrot = tilit.keySet(); // luo Iterator-tyyppinen i-olio, jolla voidaan läpikäydä // kaikki Set-kokoelman tilinumerot Iterator i = tilinrot.iterator(); String seurTilinro = null; // seuraava Tilinro Tili seurTili = null; // seuraava Tili-olio while (i.hasNext()) { // jos löytyy vielä seuraava tilinro seurTilinro = i.next(); seurTili = tilit.get(seurTilinro); System.out.println(seurTili); } // HashMap tallentaa tilit-rakenteeseen tili-oliot //satunnaisessa järjestyksessä. Tämä näkyy myös tulostuksessa. Käydään iteraattorin avulla kaikki tilinrot läpi ja tulostetaan tilien tiedot 6
7
Mapista poistaminen 7 7 String tilinro; // pankkitilin tilinumero Tili poistettuTili = null; // apumuuttuja System.out.println("Syötä poistettavan pankkitilin tilinro: "); tilinro = input.nextLine(); poistettuTili = tilit.remove(tilinro); if (poistettuTili != null){ // jos poistettava tili löytyi System.out.println("Tileistä poistettu seuraava tili:"); System.out.println("Tilinro: "+poistettuTili.getNumero()); System.out.println("Saldo: "+poistettuTili.getSaldo()); } else { System.out.println("Tiliä "+tilinro+" ei löydy tileistä."); } poistetaan tilit-Mappista viite tili- olioon. Poistettavan tilin avain saadaan parametrina.
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.