gpt4 book ai didi

java - 按特定键值过滤对象的数组列表

转载 作者:行者123 更新时间:2023-12-02 01:31:00 24 4
gpt4 key购买 nike

我有一个像这样的数组列表,我想获取产品名称 - Leisure 1 的键“Total”的值,但不确定如何在 Java spring boot 中搜索或迭代对象的数组列表

 "priceList": [
{
"Total": "10",
"Stamp Duty": "10",
"Main Policy": "0",
"Product Name": "Leisure 1"
},
{
"Total": "10",
"Stamp Duty": "10",
"Main Policy": "0",
"Product Name": "Leisure 2"
},
{
"Total": "10",
"Stamp Duty": "10",
"Main Policy": "0",
"Product Name": "Leisure 3"
},
{
"Total": "10",
"Stamp Duty": "10",
"Main Policy": "0",
"Product Name": "Work 1"
},
{
"Total": "10",
"Stamp Duty": "10",
"Main Policy": "0",
"Product Name": "Work 2"
}
]

我尝试这样做。我创建了一个函数

public static <K, V> Stream<K> keys(Map<K, V> map, V value) {
return map
.entrySet()
.stream()
.filter(entry -> value.equals(entry.getValue()))
.map(Map.Entry::getKey);
}

然后我尝试将数组列表转换为 map ,并尝试过滤列表以找到确切的对象,但无济于事

priceList.stream().map(x -> x.get("Total").toString()).filter(s -> s.get("Product Name") == planHeader).collect(Collectors.toList());

我如何能够循环或搜索对象数组并按特定值进行过滤?

感谢任何帮助

最佳答案

问题在于 s.get("Product Name") == planHeader

您不应该将其与 equals() 进行比较吗?

关于java - 按特定键值过滤对象的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56076639/

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