English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java полная коллекция примеров
В этой программе вы узнаете о различных приемах преобразования Java 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.
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() преобразовали ключи и значения в поток, а затем в список