gpt4 book ai didi

java - 如何从外部服务收集 Java Stream 中的数据?

转载 作者:行者123 更新时间:2023-11-30 07:43:35 24 4
gpt4 key购买 nike

我有这样的 Java 7 代码

List<String> foodPreferencesStr = ... populating this list

EdamamRequestModel params = new EdamamRequestModel();
List<EdamamRecipeModel> recipesList = new ArrayList<EdamamRecipeModel>();

for(String pref : foodPreferencesStr) {
params.setQ(pref);
params.setFrom(fromInt);
params.setTo(toInt);
recipesList.addAll(edamamService.searchRecipe(params));
}

如何使用 Stream API 使其成为 Java 8?

我试着让它变成这样

List<EdamamRecipeModel> recipesList = foodPreferencesStr.stream()
.map(pref -> {
params.setQ(pref);
params.setFrom(fromInt);
params.setTo(toInt);

return params;
}).collect(...);

但是不明白怎么调用edamamService.searchRecipe(params)在 Stream API 中并将其所有结果添加到 List<EdamamRecipeModel> recipesList

请指教。

最佳答案

List<EdamamRecipeModel> recipesList = foodPreferencesStr.stream()
.map(pref -> {
EdamamRequestModel params = new EdamamRequestModel();

params.setQ(pref);
params.setFrom(fromInt);
params.setTo(toInt);

return params;
})
.map(params -> edamamService.searchRecipe(params))
.flatMap(List::stream)
.collect(Collector.toList());

关于java - 如何从外部服务收集 Java Stream 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53353077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com