当前位置:  开发笔记 > 编程语言 > 正文

将嵌套for循环重构为Java 8流

如何解决《将嵌套for循环重构为Java8流》经验,为你挑选了1个好方法。

我有以下for循环:

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

我怎么能将这个嵌套循环重构为Java 8流?



1> Eran..:

您可以使用flatMap获取Map所有Methods的所有Resources:

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

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有