gpt4 book ai didi

java - 根据映射到类的 yaml 中的条件查找 "row"字段

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:54 24 4
gpt4 key购买 nike

 T1:
apis :
- api: r1
cnfig :
- country: M1
userseg: 5
row: 4
- country: M2
userseg: 11
row: 10
- api: r2
cnfig :
- country: M1
userseg: 5
row: 6
- country: M2
userseg: 5
row: 12

我需要在带有列表的 map 中查找用户行号的所有 api 名称:5,国家:M1>>

   List<Api> collect = apis
.stream().filter(
api -> (api.getConfigs().stream()
.filter(singleConfig -> singleConfig.userseg.contains("5")
&& singleConfig.country.equals("M1"))
.count() > 0))
.collect(Collectors.toList());

但是collect给了我所有api和所有配置的列表。它给了我以下配置:

   cnfig :
- country: M1
userseg: 5

与其他配置一起

   cnfig :
- country: M2
userseg: 10

我怎样才能获得具有上述条件的列表List>>?我期望得到 r1,4 和 r2,6

最佳答案

您没有具体说明如何输入这些结果,并且缺少结构上的某些类型信息,但我将向您展示总体思路:

List<String> collect = apis.stream().flatMap(api ->
api.getConfigs().stream().filter(
singleConfig -> singleConfig.userseg.contains("5")
&& singleConfig.country.equals("M1")
).map(config -> api.getApi() + "," + config.getRow())
).collect(Collectors.toList());

如果 api 中的某个项目包含多个匹配的配置(基于您的数据,这似乎不太可能),这将生成多个条目。

关于java - 根据映射到类的 yaml 中的条件查找 "row"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59677971/

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