小编典典

将嵌套的循环重构到Java 8流中

java

我有以下for循环:

    List<Map> mapList = new ArrayList<>();
    for (Resource resource : getResources()) {
        for (Method method : resource.getMethods()) {
            mapList.add(getMap(resource,method));
        }
    }
    return mapList;

如何将这个嵌套循环重构为Java 8流?


阅读 222

收藏
2020-11-23

共1个答案

小编典典

您可以使用flatMap来获取Maps中所有Methods的所有Resource

List<Map> mapList = 
    getResources().stream()
                  .flatMap(r->r.getMethods().stream().map(m->getMap(r,m)))
                  .collect(Collectors.toList());
2020-11-23