gpt4 book ai didi

java - 过滤scala中对象列表的列表属性

转载 作者:行者123 更新时间:2023-11-30 10:58:13 24 4
gpt4 key购买 nike

我正在尝试过滤 scala 中对象列表的列表属性。例如:

java中定义的类

public class Result{
private Collection<Person> persons= new ArrayList();
public Collection<Person> getPersons() {return this.persons;}
}

public class Person{
public String name
}

我的过滤函数返回的是字符串列表而不是结果列表

val listOfResutlts = Seq.empty[Result]  // imagine this was filled with a bunch of Result objects

listOfResutlts.map(
result => result.getPersons.filter(person => person.name=="xx")
)

更新我想取回 listOfResults 中的所有结果,每个结果的名称属性都被过滤。

最佳答案

好吧,您正在将每个结果映射到过滤后的人员集合。如果你想将这些集合包装回结果(可能过滤空结果??),你需要这样的东西:

listOfResutlts.flatMap(res => {
val filtered = res.getPersons.filter(_.name=="xx")
if(filtered.isEmpty) None else Some(new Result(filtered))
}

请注意,您需要能够从一组新的 Person 构造一个新的 Result。

关于java - 过滤scala中对象列表的列表属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355353/

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