【发布时间】:2023-03-17 23:53:02
【问题描述】:
有一个类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)
【问题讨论】:
-
没有直接关系,但这是compute 'Tests by Category' counter的一种方式。
标签: java list loops for-loop while-loop