如何按“拆分”/&引用;并在java中像树一样分层存储?

如何按“拆分”/&引用;并在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

我正在尝试存储像树数据结构那样的层次化实例对象。 在我的例子中,我将得到如下字符串列表:

“A/B/C”, “A/B/D”, “A/T/P”, “Q/W/E”等

“/”表示它们的层次结构。例如,B的父级,C和D的父级

这些字母中的每一个都代表一个实例对象,因此在根据“/”分割这些字母之后,我如何在java中按层次结构将这些字母作为实例对象存储在列表中?。我还需要在实例对象中添加父字段、子字段或两个字段吗

Instance对象:

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
的引用

欢迎来到堆栈溢出!您似乎在要求某人为您编写一些代码。堆栈溢出是一个问答网站,而不是代码编写服务。请学习如何写有效的问题。