Javaを使用してツリーのようなタイプのデータ構造をサポートするにはどうすればよいですかEnumeration
例えばType
、それとsubTypes
それらsubTypes
の 1 つEnum
Type
これにより、コード内の型を反復処理してその親などを導出し、ツリー内の特定の型の起源と位置を確認できます。
何時間も検索した後、この素晴らしいリンクで答えを見つけました
Enum Hierachy以下のリンクからの抜粋
public enum OsType {
OS(null),
Windows(OS),
WindowsNT(Windows),
WindowsNTWorkstation(WindowsNT),
WindowsNTServer(WindowsNT),
Windows2000(Windows),
Windows2000Server(Windows2000),
Windows2000Workstation(Windows2000),
WindowsXp(Windows),
WindowsVista(Windows),
Windows7(Windows),
Windows95(Windows),
Windows98(Windows),
Unix(OS) {
@Override
public boolean supportsXWindows() {
return true;
}
},
Linux(Unix),
AIX(Unix),
HpUx(Unix),
SunOs(Unix),
;
private OsType parent = null;
private OsType(OsType parent) {
this.parent = parent;
}
}
これは、ルックアップに値を提供することでさらに拡張できます
お気に入り
public enum OsType {
OS(null,null),
Windows(OS,"Win"),
WindowsNT(Windows,"WinNT"),
WindowsNTWorkstation(WindowsNT,"WinNTWorkStation")
....
private OsType parent = null;
private String desc = null;
private OsType(OsType parent,String desc) {
this.parent = parent;
this.desc = desc;
}