Мне нужно передать объект (например, объект из класса DATA), который находится внутри другого объекта (например, объект из класса NODE) на другой объект (из класса NODE)? Объекты узла являются узлами дерева. Реализация дерева:JAVA: как передать объект в пределах одного объекта другому объекту?
public class Tree {
private Node rootElement;
public Tree() {
super();
}
public Node getRootElement() {
return this.rootElement;
}
public void setRootElement(Node rootElement) {
this.rootElement = rootElement;
}
, а затем для узла у меня есть:
public class Node {
public MyNode data;
public List<Node> children;
public int childNo;
public Node() {
super();
}
public Node(MyNode data) {
this();
setData(data);
}
public Node(MyNode data, int childNo) {
this();
setData(data);
this.childNo=childNo;
}
public void setChildren(List<Node> children) {
this.children = children;
}
public void addChild(Node child) {
if (children == null) {
children = new ArrayList<Node>();
}
children.add(child);
}
public MyNode getData() {
return this.data;
}
public void setData(MyNode data) {
this.data = data;
}
и MyNode у меня есть:
public class MyNode {
public String ID = new String(); //UUID
protected String parentID;
MyNodesDATA d = new MyNodesDATA();
public MyNode() {
setID(UUID.randomUUID().toString());
}
public MyNodesDATA getMyNodesDATA() {
return this.MyNodesDATA ;
}
public void setData(MyNodesDATA d) {
this.MyNodesDATA = data;
}
и это MyNodesDATA
public class MyNodesDATA {
int iD;
String name;
}
Поэтому каждый узел дерева имеет объект M Тип yNode и каждый объект MyNode имеют данные как объект класса MyNodesDATA. Я уже инициализировал дерево с предопределенными структурами иерархических узлов, используя некоторые рекурсивные методы, которые я здесь не ставил ... Теперь узлы дерева на уровнях любовника обрабатывают свои данные и должны отправлять их своим родителям (ИСПОЛЬЗОВАНИЕ ИДЕНТИФИКАТОР РОДИТЕЛЯ). Я застрял здесь ... как узел (объект) может отправить свои данные другому узлу (другому объекту) (скажем, его родительский объект в этом сценарии), используя только одну переменную ID другого объекта ... более простым способом необходимо получить метод (ID и DATA) и отправить данные объекту с идентификатором! и, конечно, должна быть другая функция или обработчик событий на стороне приемника, чтобы принять меры после получения данных ...
Если я понять ваш новый вопрос правильно, что вам требуется это функция для поиска дерева для данного идентификатора? Самый простой способ сделать это - начать с корня и рекурсивно сбрасывать каждый ребенок по порядку, считая, что сортировки нет. Что вы пробовали до сих пор для функции поиска? – jonk
См. [Эту запись в Википедии] (https://en.wikipedia.org/wiki/Tree_traversal) для получения информации о разных алгоритмах обхода дерева, если это место, где вы застряли. – jonk