gpt4 book ai didi

java - 类别/子类别 : How to get all subcategories(their subcategories too) for given category?

转载 作者:行者123 更新时间:2023-11-29 08:53:23 26 4
gpt4 key购买 nike

有一类Category ,具有以下(重要)属性:

public class Category{
private Integer id;
private String name;
private Category parentCategory;
private Set<Category> subcategories = new HashSet<Category>();
...
//getters and setters
}

我正在尝试实现类别/子类别概念。一个类别可以有零个或多个子类别。一个类别只能有一个父类别(可以是 null )。对于顶级类别 parentCategory=null .

现在,我有一个所有类别的列表,List<Category> allCategories = (retrieved from database) .

如果我有一些类别(或 categoryId ),并且 allCategories ,如何获得给定类别的所有子类别(及其子类别)的列表?使用哪个循环?(它可以限制在子类别深度级别 3)

最佳答案

这里是一些伪代码,如果你想要更具体的解决方案,请提供结果集的详细信息。

for(all result set) {
currentCategoriesFromDb = current category;
currentCategoriesFromDb.setParentCategory() = parentCategoryId;
parentCategory.addCategory(currentCategoriesFromDb )
}

如果所有类别层次结构都已初始化并且您想导航,您可以这样做:

currentCategory.getChildByName(name1).getChildByName(name2);

如果你想递归地确定所有的东西:

printbCategories(Category category) {
print(category);
List<Category> subCategories = category.getSubCategories();
for(Category category : subCategories ) {
printbCategories(category);
}
}

关于java - 类别/子类别 : How to get all subcategories(their subcategories too) for given category?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21586835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com