遞迴這樣理解,你將豁然開朗;
見程式碼
@GetMapping("/index6")
public List<Integer> index6() {
Integer id = 11;
List<Category> categoryList = categoryMapper.selectList(null);
// 宣告返回值
List<Integer> result = new ArrayList<>();
List<Integer> integers = checkCateData(categoryList, id,result);
return integers;
}
/**
*
* @param list 分類列表
* @param id 查詢id
* @param result 蒐集返回值(子分類所有id)
* @return
*/
private List<Integer> checkCateData(List<Category> list, Integer id,List<Integer> result) {
for (Category ca : list
) {
if (ca.getFatherId().equals(id)){
Integer ids = ca.getId();
result.add(ids);
checkCateData(list,ids,result);
}
}
return result;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結