Java - простой способ поместить ключи/значения LinkedHashMap в соответствующие списки?

У меня есть LinkedHashMap < String, String > map.

List < String > keyList;
List < String > valueList;

map.keySet();
map.values();

Есть ли простой способ заполнить keyList из map.keySet() и valueList из map.values ​​(), или мне нужно итерации?

Ответ 1

Большинство коллекций принимают Collection как аргумент конструктора:

List<String> keyList = new ArrayList<String>(map.keySet());
List<String> valueList = new ArrayList<String>(map.values());

Ответ 3

Другой подход с использованием Java 8 -

List<String> valueList = map.values().stream().collect(Collectors.toList()); 
List<String> keyList = map.keySet().stream().collect(Collectors.toList());  

Примечание:

  • stream() - возвращает последовательность Object с учетом коллекции (здесь map) в качестве источника

  • Collectors - коллекторы используются для объединения результата обработки на элементах потока.