我有以下for循环:
List<Map> mapList = new ArrayList<>(); for (Resource resource : getResources()) { for (Method method : resource.getMethods()) { mapList.add(getMap(resource,method)); } } return mapList;
如何将这个嵌套循环重构为Java 8流?
您可以使用flatMap来获取Maps中所有Methods的所有Resource:
flatMap
Map
Method
Resource
List<Map> mapList = getResources().stream() .flatMap(r->r.getMethods().stream().map(m->getMap(r,m))) .collect(Collectors.toList());