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

标签 java enums tree hierarchy categories

假设我们有一组类别:categories={A,B}。再假设A包含子类:{A1,A2,A3},B包含子类:{B1,B2}。此外,还有更多子类如下:for A1:{A1a,A1b},for A2 :{A2a,A2b},对于 A3:{A3a,A3b,A3c},对于 B1:{B1a,B1b,B1c},对于 B2:{B2a,B2b}。如何在 java 中构建层次结构?

由于每个集合的基数是固定的并且事先已知,我最初的方法是使用枚举类型而不是使用继承构建类,但我愿意接受任何建议。我不知道如何解决这个问题。

提前致谢。

最佳答案

可能是这个的实现:

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 - 如何使用枚举或任何其他方式在 Java 中构建类别的层次结构树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20114444/

相关文章:

java - 在 Grizzly 中配置 session cookie 名称

java - 以百分比 java 表示的单词频率

java - 调用后枚举变为空

c++ - 将一个枚举映射到另一个枚举

algorithm - 在完美二叉树中获取顶点的父节点

html - 同样的HTML,美化导致不同的结果?发生了什么事?

php - 如何恢复根节点

java - 如何删除 Java 中十进制数的最后一位?

java - 如何在Java中将XML内容写入字符串?

java - 使用枚举值而不使用枚举类名