我需要一个灵活的结构来将数据保存在树结构中的任何位置,以便稍后导出到 JSON。我的实际数据可能位于该树中的任何位置。这是我正在谈论的结构。
-1
-1.1
-Data
-Data
-..
-1.2
-Data
-Data
-..
-1.2.1
-Data
-Data
-..
-2
-Data
-Data
-..
-2.1
-2.1.1
-Data
-Data
数据可以出现在树中的任何位置。这些数字最终应该是可读的字符串。一旦序列化为 JSON,这些应该作为转出列表进入其他应用程序。
我有以下内容:
public class Branch {
String name; //Substitute for the numbers
Branch deeperBranch;
ArrayList<Data> data;
}
我想确保的另一件事是,每当创建重复的 Branch.name
时,它都会进入现有的 Branch
中。我是否在这里重新发明轮子,这是否是解决我面临的问题的有效方法?
最佳答案
我认为没有一种结构可以方便地满足您的需求。话虽如此,我认为创建起来相当简单:
public class Branch {
String name; //Substitute for the numbers
Set<Branch> subBranches;
List<Data> data;
}
我将其设为Set
,因为您希望保持名称唯一,但是,您必须实现一些东西来递归检查它是否存在。此外,您还需要实现 equals
方法。
我还将 ArrayList
更改为 List
,因为将代码编写到 Interface
是一种很好的编程习惯
关于java - 灵活的分支/列表数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42211394/