[英]Foreach in java stream
我有一种方法可以:
有CustomObjects的列表,
获取变量参数
并应返回包含具有参数的对象ID的字符串列表
CustomObject看起来像:
{
"id": "1a",
"secondObjectList": [{
"name": "a",
"params": ["param1", "param2", "param3"]
},
{
"name": "b",
"params": ["param2"]
}]
}
当对象只有一个参数时,可以使用流的方法:
public List<String> findObjectsIdsThatHaveParam(List<CustomObject> objectsList, String param) {
return objectsList.stream()
.filter(object -> object.getSecondObjectList.get(0).getParams().contains(param))
.map(CustomObject::getId)
.collect(Collectors.toList());
}
我不知道如何通过参数arrayList进行迭代。 您知道我如何使用流吗?
我认为您对如何遍历所有元素直到满足提供的标准感到困惑。
流利用内部迭代,因此您可以从getSecondObjectList
创建流,并利用anyMatch
提供您的条件。
.filter(object -> object.getSecondObjectList.stream()
.anyMatch(e -> e.getParams().contains(param)))
...
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.