且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用枚举或其他方式在java中构建类别的层次结构树?

更新时间:2023-11-01 16:45:52

可能是这样的一个实现:

  public interface Category {
String getName();
类别getParent();
列表<类别> getSiblings();
列表<类别>的getChildren();
列表<类别> getDescendants();
void addChild(Category category);
void addChildren(List< Category> categories);
}


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.

Thanks in advance.

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);
}