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()); Ответ 2 Конечно! keyList.addAll(map.keySet()); Или вы можете передать его во время создания List<String> keyList = new ArrayList<String>(map.KeySet()); http://download.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html Ответ 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 - коллекторы используются для объединения результата обработки на элементах потока.
Ответ 1 Большинство коллекций принимают Collection как аргумент конструктора: List<String> keyList = new ArrayList<String>(map.keySet()); List<String> valueList = new ArrayList<String>(map.values());
Ответ 2 Конечно! keyList.addAll(map.keySet()); Или вы можете передать его во время создания List<String> keyList = new ArrayList<String>(map.KeySet()); http://download.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html
Ответ 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 - коллекторы используются для объединения результата обработки на элементах потока.