下面提到的CheckList大致是这样一个对象,如下图。有点像是组织架构,或者是有父子关系的树形结构。
/**
* 递归:根据父节点id获取该父节点下所有的CheckList,不包括该节点
*/
public List<CheckList> getChildByParentId(String parentId, List<CheckList> res, List<CheckList> allCheckList) {
List<CheckList> checkLists = allCheckList.stream().filter(checkList -> parentId.equals(checkList.getParentId())).collect(Collectors.toList());
if (isEmpty(checkLists)) {
return res;
}
for (CheckList checkList : checkLists) {
res.add(checkList);
allCheckList.remove(checkList);
getChildByParentId(checkList.getId()