Tässä ohjelmassa opit erilaisia tekniikoita kartan muuntamiseksi Java-luetteloksi.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java Map Interface
- Java HashMap
- Java-luettelo
- Java ArrayList -luokka
Esimerkki 1: Muunna kartta luetteloksi
import java.util.*; public class MapList ( public static void main(String() args) ( Map map = new HashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "d"); map.put(5, "e"); List keyList = new ArrayList(map.keySet()); List valueList = new ArrayList(map.values()); System.out.println("Key List: " + keyList); System.out.println("Value List: " + valueList); ) )
Tuotos
Avainluettelo: (1, 2, 3, 4, 5) Arvoluettelo: (a, b, c, d, e)
Yllä olevassa ohjelmassa meillä on kartta kokonaisluku ja merkkijono nimeltä kartta. Koska kartta sisältää avaimen, arvoparin, tarvitsemme kaksi listaa kunkin tallentamiseksi, nimittäin keyList avaimille ja valueList arvoille.
Kartan keySet()
menetelmällä saimme kaikki avaimet ja loimme niistä ArrayList
KeyListin. Samoin käytimme kartan values()
menetelmää kaikkien arvojen ArrayList
saamiseen ja loimme niistä arvolistan.
Esimerkki 2: Muunna kartta luetteloksi käyttämällä streamia
import java.util.*; import java.util.stream.Collectors; public class MapList ( public static void main(String() args) ( Map map = new HashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "d"); map.put(5, "e"); List keyList = map.keySet().stream().collect(Collectors.toList()); List valueList = map.values().stream().collect(Collectors.toList()); System.out.println("Key List: " + keyList); System.out.println("Value List: " + valueList); ) )
Ohjelman tulos on sama kuin esimerkissä 1 .
Yllä olevassa ohjelmassa ArrayList
konstruktorin käyttämisen sijaan olemme käyttäneet stream()
kartan muuntamista luetteloksi.
Olemme muuntaneet avaimet ja arvot suoratoistamaan ja muuntamaan ne luetteloksi käyttämällä parametrin " collect()
pass Collectors
" menetelmää toList()
.