У овом програму ћете научити различите технике претварања мапе у списак у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава Мап Интерфаце
- Јава ХасхМап
- Јава Лист
- Класа Јава АрраиЛист
Пример 1: Претвори мапу у листу
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); ) )
Оутпут
Листа кључева: (1, 2, 3, 4, 5) Листа вредности: (а, б, ц, д, е)
У горњем програму имамо мапу целог броја и низа под називом мапа. Будући да мапа садржи кључ, пар вредности , потребне су нам две листе за чување сваке од њих, наиме кеиЛист за кључеве и валуеЛист за вредности.
Користили смо keySet()
метод мапе да бисмо добили све кључеве и ArrayList
од њих креирали списак кључева. Слично томе, користили смо values()
метод мапе да бисмо добили све вредности и ArrayList
од њих креирали ВалуеЛист.
Пример 2: Конвертовање мапе у листу помоћу тока
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); ) )
Резултат програма је исти као у примеру 1 .
У горњем програму, уместо да користимо ArrayList
конструктор, користили stream()
смо претварање мапе у листу.
Претворили смо кључеве и вредности за стримовање и претворили их у листу користећи collect()
методу прослеђивања Collectors
' toList()
као параметар.