У меня есть список элементов:
List<OuterElement> outerElements;
Объект OuterElement имеет 2 свойства:
String key;
List<InnerElement> innerElements;
Объект InnerElement имеет 1 свойство:
String value;
Iнужно создать карту, где для каждого innerElement будет создана запись, где ключом будет ключ externalElement, а значением будет значение innerElement;
Map<String, String> // actually Map<OuterElement.key, InnerElement.value>
Как это сделать с помощью Stream API?
Я пробовал что-то подобное, но это не работает:
Map<String, String> result = outerElements.stream()
.forEach(outerElement -> outerElement.getInnerElements().stream().collect(Collectors.toMap(OuterElement::getKey, InnerElement::getValue));