U ovom programu naučit ćete različite tehnike pretvaranja karte u popis u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Sučelje Java Map
- Java HashMap
- Popis Java
- Klasa Java ArrayList
Primjer 1: Pretvori kartu u popis
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); ) )
Izlaz
Popis ključeva: (1, 2, 3, 4, 5) Popis vrijednosti: (a, b, c, d, e)
U gore navedenom programu imamo mapu Integer i String imena map. Budući da karta sadrži ključ, par vrijednosti , trebaju nam dva popisa za pohranu svakog od njih, naime keyList za ključeve i valueList za vrijednosti.
Koristili smo keySet()
metodu mape da bismo dobili sve ključeve i ArrayList
od njih stvorili popis ključeva. Isto tako, koristili smo values()
metodu mape da bismo dobili sve vrijednosti i ArrayList
od njih stvorili popis vrijednosti.
Primjer 2: Pretvorite mapu u popis pomoću streama
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); ) )
Rezultat programa jednak je primjeru 1 .
U gornjem programu, umjesto da koristimo ArrayList
konstruktor, koristili stream()
smo pretvaranje karte u popis.
Ključeve i vrijednosti pretvorili smo u stream i pretvorili u popis koristeći collect()
metodu prosljeđivanja Collectors
' toList()
kao parametar.