gpt4 book ai didi

Java lambda流合并模型中的参数

转载 作者:行者123 更新时间:2023-12-02 10:17:48 29 4
gpt4 key购买 nike

我找不到答案。我尝试将多个对象合并为一个。模型示例

public class Model {
private List<Map<String, Object>> param1;
private List<String> param2;
}

在我的代码中,我将另一个数据转换为模型。

List<Model> models = models2.stream()
.map(Optional::get)
.map(model2 -> convert(model2))
.collect(Collectors.toList());

我尝试将转换后的模型列表聚合到一个模型。喜欢:

Model model = models2.stream() ...etc

但我不知道如何。

最佳答案

最简单的是添加 merge方法给你Model类:

public class Model {
private List<HashMap<String, Object>> param1;
private List<String> param2;

public Model merge (Model other) {
this.param1.addAll(other.param1);
this.param2.addAll(other.param2);

return this;
}
}

然后reduce您的信息流:

Model allInOne = models2.stream()
.map(Optional::get)
.map(model2 -> convert(model2))
.reduce(Model::merge)
.get();

那个merge方法也可以是static Model merge (Model first, Model second)或外化BinaryOperator<Model>功能。

关于Java lambda流合并模型中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54551169/

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