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

我有以下for循环:

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

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

您可以使用flatMap获取所有Resource的所有Method的所有Map

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