У меня есть список языков, таких как английский, французский и т. Д. У меня также есть список слов, таких как яблоко, апельсин и т. Д. Для каждого слова я хочу создать карту, которая выглядит следующим образом:
Map map = {english = apple, italian = mela}
Для того, чтобы получить translationWord, у меня есть функция, которая возвращает необязательный.Подпись метода выглядит следующим образом:
Optional<TranslatedWord> getTranslatedWord(String word, Language language);
Это код, который я написал для сбора слов в карту
List<Language> languages = {english, italian, french};
for(String w : words) {
Map<Language, TranslatedWord> map = languages.stream().collect(Collectors.ToMap(language -> language,
language -> getTranslatedWord(w, language));
doSomethingWithThisMap(map);
}
Проблема в том, что getTranslatedWord () возвращает Необязательный.Мне нужно собрать его в карту, только если в необязательном значении есть значение.Как я могу это сделать?