W tym programie nauczysz się różnych technik konwertowania mapy na listę w Javie.
Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:
- Interfejs mapy Java
- Java HashMap
- Lista Java
- Klasa ArrayList języka Java
Przykład 1: Konwertuj mapę na listę
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); ) )
Wynik
Lista kluczy: (1, 2, 3, 4, 5) Lista wartości: (a, b, c, d, e)
W powyższym programie mamy mapę typu Integer i String o nazwie map. Ponieważ mapa zawiera parę klucz, wartość , potrzebujemy dwóch list do przechowywania każdej z nich, a mianowicie keyList dla kluczy i valueList dla wartości.
Użyliśmy keySet()
metody mapy, aby uzyskać wszystkie klucze i utworzyliśmy ArrayList
z nich listę kluczy . Podobnie, użyliśmy metody mapy, values()
aby pobrać wszystkie wartości i utworzyliśmy ArrayList
z nich valueList.
Przykład 2: Konwertuj mapę na listę przy użyciu strumienia
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); ) )
Dane wyjściowe programu są takie same, jak w przykładzie 1 .
W powyższym programie, zamiast używać ArrayList
konstruktora, użyliśmy stream()
do konwersji mapy na listę.
Przekonwertowaliśmy klucze i wartości na strumień i przekonwertowaliśmy je na listę przy użyciu collect()
metody przekazywania Collectors
„ toList()
jako parametru”.