V tomto programu se naučíte různé techniky převodu mapy na seznam v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Rozhraní Java Map
- Java HashMap
- Seznam Java
- Třída Java ArrayList
Příklad 1: Převést mapu na seznam
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); ) )
Výstup
Seznam klíčů: (1, 2, 3, 4, 5) Seznam hodnot: (a, b, c, d, e)
Ve výše uvedeném programu máme mapu Integer a String s názvem map. Vzhledem k tomu, že mapa obsahuje pár klíč, hodnota , potřebujeme dva seznamy pro uložení každého z nich, jmenovitě keyList pro klíče a valueList pro hodnoty.
keySet()
K získání všech klíčů jsme použili metodu mapy a vytvořili ArrayList
jsme z nich seznam klíčů . Podobně jsme použili metodu mapy values()
k získání všech hodnot a vytvořili ArrayList
jsme z nich valueList.
Příklad 2: Převést mapu na seznam pomocí streamu
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); ) )
Výstup programu je stejný jako v příkladu 1 .
Ve výše uvedeném programu jsme místo použití ArrayList
konstruktoru použili stream()
k převodu mapy na seznam.
Převedli jsme klíče a hodnoty na stream a převedli jsme je na seznam pomocí collect()
metody předávající Collectors
' toList()
jako parametr.