【发布时间】:2015-11-22 20:03:28
【问题描述】:
代码结构
public class Article {
public String name;
public String description;
public List<Translation> translations;
}
public class Translation {
public String field;
public String value;
public String language;
}
有一种方法可以转换并返回特定结果
List<Article> returnArticleswithCorrectTranslation(List<Article> articles, String language) {
List<Article> result = new ArrayList<>();
for (Article article: articles) {
String languageCriteria = language;
boolean isTranslationFound = false;
for (Translation translation : article.translations) {
if (translation.language.equals(language)) {
isTranslationFound = true;
}
}
if (!isTranslationFound) {
languageCriteria = "en";
}
List<Translation> resultTranslations = new ArrayList<>();
for (Translation translation : article.translations) {
if (translation.language.equals(languageCriteria)) {
resultTranslations.add(translation);
}
}
article.translations = resultTranslations;
result.add(article);
}
return result;
}
需要建议如何将该逻辑转换为 Java 8 流 api?
【问题讨论】:
标签: java java-8 java-stream