В этой программе вы изучите различные методы преобразования карты в список на Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Интерфейс карты Java
- Java HashMap
- Список Java
- Класс Java ArrayList
Пример 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) Список значений: (a, b, c, d, e)
В приведенной выше программе у нас есть карта Integer и String с именем map. Поскольку карта содержит пару ключ-значение , нам нужны два списка для хранения каждого из них, а именно keyList для ключей и valueList для значений.
Мы использовали keySet()
метод карты для получения всех ключей и создали ArrayList
из них keyList. Точно так же мы использовали метод карты 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()
качестве параметра.