gpt4 book ai didi

java - 按子列表中项目的值过滤列表

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

我有一个对象列表列表,对于这些“放置”对象的每个实例,其中都包含许多成员和列表。我希望能够根据子列表中是否存在值来过滤父列表。

这些对象列表是 JSON,正在使用 Jackson 转换为普通的旧 Java 对象。

使用下面的示例数据(已在我的实际代码中转换为 java 对象,但为了便于阅读而在此处以 JSON 形式显示),我想过滤掉所有没有产品的地点 “C”。

{
"places": [
{
"Name": "ANAME",
"location": "A",
"type": "R",
"date": "2017-03-27",
"availableProducts": [
{
"product": "A",
"price": 15.00
},
{
"product": "B",
"price": 15.00
},
{
"product": "C",
},
{
"product": "D",
}
]
},
{
"Name": "NNAME",
"location": "A",
"type": "R",
"date": "2017-03-27",
"availableProducts": [
{
"product": "E",
"price": 15.00
},
{
"product": "F",
"price": 15.00
}
]
}
]
}

我已经走到这一步了,这显然行不通,因为它只会查看第一个产品:

places.removeIf(p -> !p.getAvailableProducts().get(0).getProduct.equals("C"));

最佳答案

试试这个:

places.removeIf(p -> !p.getAvailableProducts().stream().anyMatch(x -> x.getProduct.equals("C")));

关于java - 按子列表中项目的值过滤列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060117/

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