Создайте объектный узел, который содержит родительский элемент (узел) и список дочерних элементов (узел).
Сначала разбейте строку, используя ",". Для каждой разбитой строки вы разбиваете строку, используя «/».
Найдите идентификатор первого узла (например, x1) в корневом списке.
Если вы можете найти его, используйте этот узел, чтобы найти следующий идентификатор узла (например, x2).
Если вы не можете найти узел, добавьте узел к последнему узлу, который вы смогли найти в существующих списках.
После того, как вы создали структуру списка, вы можете распечатать список на экране. Я бы сделал это рекурсивным.
НЕ ИСПЫТАНО, просто анимация
public void print(List nodes, int deep) {
if (nodes == null || nodes.isEmpty()) {
return;
}
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < deep; i++) {
buffer.append("---");
}
for (Iterator iterator = nodes.iterator(); iterator.hasNext();) {
Node node = (Node)iterator.next();
System.out.println(buffer.toString() + " " + node.getIdentifier());
print(node.getChildren(), deep + 1);
}
}