Program Java pentru a converti harta (HashMap) în listă

În acest program, veți învăța diferite tehnici pentru a converti o hartă într-o listă în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Interfață Java Map
  • Java HashMap
  • Lista Java
  • Clasa Java ArrayList

Exemplul 1: convertiți harta în 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); ) )

Ieșire

 Lista cheilor: (1, 2, 3, 4, 5) Lista valorilor: (a, b, c, d, e)

În programul de mai sus, avem o hartă a Integer și String denumită hartă. Deoarece harta conține o pereche de chei, valori , avem nevoie de două liste pentru a stoca fiecare dintre ele, și anume keyList pentru chei și valueList pentru valori.

Am folosit keySet()metoda hărții pentru a obține toate cheile și am creat o ArrayListlistă de chei de la acestea. De asemenea, am folosit metoda hărții pentru values()a obține toate valorile și am creat o ArrayListlistă de valori din acestea.

Exemplul 2: convertiți harta în listă folosind fluxul

 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); ) )

Ieșirea programului este aceeași cu Exemplul 1 .

În programul de mai sus, în loc să folosim ArrayListconstructorul, am folosit stream()pentru a converti harta într-o listă.

Am convertit cheile și valorile pentru a transmite în flux și le-am convertit într-o listă folosind collect()metoda de trecere CollectorstoList()ca parametru.

Articole interesante...