我有一份语言列表,例如英语、法语等。我还有一个单词列表,例如苹果、橘子等。对于每个单词,我想创建一个像这样的映射:
Map map = {english = apple, italian = mela}
为了获得翻译后的单词,我有一个返回Optional的函数。该方法的签名如下:
Optional getTranslatedWord(String word, Language language);
这是我编写的代码,将这些单词收集到一个映射中:
问题是getTranslatedWord()返回一个Optional。如果这个optional有值,我需要将其收集到Map中。我该如何操作?
Map map = {english = apple, italian = mela}
为了获得翻译后的单词,我有一个返回Optional的函数。该方法的签名如下:
Optional 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()返回一个Optional。如果这个optional有值,我需要将其收集到Map中。我该如何操作?
getTranslatedWord
。 - Naman