如何按“拆分”/&引用;并在java中像树一样分层存储?
我正在尝试存储像树数据结构那样的层次化实例对象。 在我的例子中,我将得到如下字符串列表: “A/B/C”, “A/B/D”, “A/T/P”, “Q/W/E”等 “/”表示它们的层次结构。例如,B的父级,C和D的父级 这些字母中的每一个都代表一个实例对象,因此在根据“/”分割这些字母之后,我如何在java中按层次结构将这些字母作为实例对象存储在列表中?。我还需要在实例对象中添加父字段、子字段或两个字段吗 Instance对象:如何按“拆分”/&引用;并在java中像树一样分层存储?,java,tree,Java,Tree,我正在尝试存储像树数据结构那样的层次化实例对象。 在我的例子中,我将得到如下字符串列表: “A/B/C”, “A/B/D”, “A/T/P”, “Q/W/E”等 “/”表示它们的层次结构。例如,B的父级,C和D的父级 这些字母中的每一个都代表一个实例对象,因此在根据“/”分割这些字母之后,我如何在java中按层次结构将这些字母作为实例对象存储在列表中?。我还需要在实例对象中添加父字段、子字段或两个字段吗 Instance对象: public class Instance { privat
public class Instance {
private String name;
private String description;
private int type;
}
谢谢。首先,您需要重新访问您的数据结构,
实例
类。从您提供的示例来看,似乎您正在尝试创建一个树数据结构,其中一个节点可以有多个子节点。您需要设计可以处理节点中多个子节点的实例类。
尝试使用实例列表来处理子对象
你的班级看起来像-
class Instance {
private String name;
private String description;
private int type;
List<Instance> children;
}
类实例{
私有字符串名称;
私有字符串描述;
私有int型;
列出儿童名单;
}
尝试拆分输入字符串并遍历每个子字符串,检查是否已经有名为的Instance
对象。否则,您将创建一个新的实例
对象。需要修改拆分字符串中的上一个元素,以将当前节点添加为其子节点
例如,如果拆分“A/B/C”
,并对其进行迭代
对于A
,第一个元素-因此它是根,检查是否为A
创建了实例
对象,如果没有,则创建A
。将A
存储在temp
变量中,以便以后修改A
对于B
,temp
保存A
的引用,检查是否为B
创建了实例
对象,如果没有,则创建B
。修改temp
的children
以将B
添加到列表中,让temp
保留B
对于C
,temp
保存B
的引用,检查是否为C
创建了实例
对象,如果没有,则创建C
。修改temp
的children
以将C
添加到列表中,让temp
保留C
的引用 欢迎来到堆栈溢出!您似乎在要求某人为您编写一些代码。堆栈溢出是一个问答网站,而不是代码编写服务。请学习如何写有效的问题。