Инициализируйте ключи карты из списка со значением по умолчанию

#java #lambda #hashmap #java-stream

#Ява #лямбда #хэш-карта #java-поток

Вопрос:

Мне нужно инициализировать ключи карты из списка и указать значение по умолчанию для каждой записи. В настоящее время я использую цикл for :

 Maplt;String, String gt; myMap = new HashMaplt;gt;(); Listlt;Stringgt; keys = Arrays.asList("a", "b", "c", "d"); for (String key : keys){  myMap.put(key, "default"); }  

Есть ли более чистый способ сделать это ? Может быть, поток или лямбда ?

Ответ №1:

Да, вы можете создать один Stream из этих List элементов и собрать их в Map :

 Maplt;String,Stringgt; map = keys.stream ()  .collect (Collectors.toMap (Function.identity (),   k -gt; "default"));