English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Java

Java Управление потоком

Java Массив

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map-сборник

Java Set-сборник

Java Вход/вывод (I/O)

Java Reader/Writer

Другие темы Java

Java-программа преобразует набор (HashMap) в список

Java полная коллекция примеров

В этой программе вы узнаете о различных приемах преобразования Java map в список.

Пример 1: Преобразование map в список

import java.util.*;
public class MapList {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        map.put(4, "d");
        map.put(5, "e");
        List<Integer> keyList = new ArrayList<>(map.keySet());
        List<String> valueList = new ArrayList<>(map.values());
        System.out.println("Key List: " + keyList);
        System.out.println("Value List: " + valueList);
    }
}

При запуске этой программы, вывод будет:

Key List: [1, 2, 3, 4, 5]
Value List: [a, b, c, d, e]

В上面的 программе у нас есть набор map с Integer и String. Поскольку map содержитКлюч-значениеДа, поэтому нам нужны два списка для их хранения, то есть keyList ключ и valueList значение.

Мы используем метод keySet() map для получения всех ключей и создаем из них ArrayList keyList. Точно так же мы используем метод values() map для получения всех значений и создаем из них ArrayList valueList.

Пример 2: Преобразование map в список с помощью потоков

import java.util.*;
import java.util.stream.Collectors;
public class MapList {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        map.put(4, "d");
        map.put(5, "e");
        List<Integer> keyList = map.keySet().stream().collect(Collectors.toList());
        List<String> valueList = map.values().stream().collect(Collectors.toList());
        System.out.println("Key List: " + keyList);
        System.out.println("Value List: " + valueList);
    }
}

Вывод программы совпадает с примером 1.

В上面的 программе мы не использовали конструктор ArrayList, а использовали stream() для преобразования карты в список

Мы уже через использование toList() Collectora в качестве параметра, через метод collect() преобразовали ключи и значения в поток, а затем в список

Java полная коллекция примеров