繁体   English   中英

Java流中的Foreach

[英]Foreach in java stream

我有一种方法可以:

  1. 有CustomObjects的列表,

  2. 获取变量参数

  3. 并应返回包含具有参数的对象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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM