如何使用枚举或任何其他方式在java中构建类别的层次结构树? [英] How to build an hierarchy tree of categories in java using enums or any other way?
问题描述
假设我们有一组类别:categories={A,B}.假设A包含子类别:{A1,A2,A3},B包含子类别:{B1,B2}.此外,还有更多的子类别如下:对于A1:{A1a,A1b},对于A2:{A2a,A2b}, 对于 A3:{A3a,A3b,A3c}, 对于 B1:{B1a,B1b,B1c}, 对于 B2:{B2a,B2b}.如何在java中构建层次结构?
Assuming that we have a set of categories: categories={A,B}. Let's assume more that A consists of subcategories: {A1,A2,A3} and B consists of subcategories: {B1,B2}.In addition, there are even more subcategories as follows: for A1:{A1a,A1b}, for A2:{A2a,A2b}, for A3:{A3a,A3b,A3c}, for B1:{B1a,B1b,B1c}, for B2:{B2a,B2b}. How can I build an hierarchical structure in java?
由于每个集合的基数是固定的并且事先知道,我最初的方法是使用枚举类型而不是使用继承来构建类,但我愿意接受任何建议.我不知道如何解决这个问题.
Since the cardinality of each set is fixed and known in advance, my initial approach is to use enum types instead of building classes with inheritance, but I am open to any suggestion. I do not know how to approach this problem.
提前致谢.
推荐答案
可能是这样的一个实现:
Probably an implementation of this:
public interface Category {
String getName();
Category getParent();
List<Category> getSiblings();
List<Category> getChildren();
List<Category> getDescendants();
void addChild(Category category);
void addChildren(List<Category> categories);
}
这篇关于如何使用枚举或任何其他方式在java中构建类别的层次结构树?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!