java 怎么替换做循环替换_Java:将foreEach循环替换为stream_java_酷徒编程知识库

想用stream替換foreEach循環。protected Set getSelectedPaths(final CheckModel> checkModel, final LazyTreeItem root) {

final Set ceckedList = new HashSet<>();

final List> children = root.getChildren();

final List lazyChildren = children.stream().map((item -> (LazyTreeItem) item))

.collect(Collectors.toList());

final List selectedChildren = new ArrayList<>();

children.forEach(child -> selectedChildren.addAll(getSelectedPaths(checkModel, (LazyTreeItem) child)));

/**

* do sth with checkedList

*/

return checkedList

final List selectedChildren = new ArrayList<>();

children.forEach(child -> selectedChildren.addAll(getSelectedPaths(checkModel, (LazyTreeItem) child)));

我嘗試過final List selectedChildren = children.stream().map(child->getSelectedPaths(checkModel, (LazyTreeItem) child)).collect(Collectors.toList());

但是發生錯誤"Type mismatch: cannot convert from List> to List"是否可以用stream替換此forEach循環?

你可能感兴趣的:(java,怎么替换做循环替换)