/**
* 递归方法
* @param anyLevelCategoryList 任意层级的目录集合
* @param keyword 关键字
*/
public static void treeMatch(List<Category> anyLevelCategoryList, String keyword){
Iterator<Category> iter = anyLevelCategoryList.iterator();
while (iter.hasNext()){
// 获取当前遍历到的目录
Category category = iter.next();
// 如果当前目录名称包含关键字,则什么也不做(不移除),否则就看下一级
if(!category.getName().contains(keyword)){
// 取出下一级目录集合
List<Category> childrenCategoryList = category.getChildren();
// 递归
if(!CollectionUtils.isEmpty(childrenCategoryList)){
treeMatch(childrenCategoryList,keyword);
}
// 下一级目录看完了,如果下一级目录全部被移除,则移除当前目录
if(CollectionUtils.isEmpty(category.getChildren())){
iter.remove();
}
}
}
}
模糊查询树形菜单
最新推荐文章于 2024-05-06 16:04:47 发布