Я новичок в коллекциях. я следующий классИзвлечение всех детей из числа N Количество уровней От коллекции
class ParantCategory {
int id;
String name;
int pid;
public ParantCategory(int id, String name, int pid) {
this.id = id;
this.name = name;
this.pid = pid;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
}
И мой основной класс метод, как
public class HierachiDemo {
static ArrayList<ParantCategory> al = new ArrayList<>();
public static void main(String[] args) {
al.add(new ParantCategory(1, "000", 0));
al.add(new ParantCategory(2, "A1", 1));
al.add(new ParantCategory(3, "B1", 1));
al.add(new ParantCategory(4, "A11", 2));
al.add(new ParantCategory(5, "A12", 2));
al.add(new ParantCategory(6, "A13", 2));
al.add(new ParantCategory(7, "B11", 3));
al.add(new ParantCategory(8, "B12", 3));
al.add(new ParantCategory(9, "B13", 3));
al.add(new ParantCategory(10, "A111", 4));
al.add(new ParantCategory(11, "A112", 4));
al.add(new ParantCategory(12, "A113", 4));
HierachiDemo h = new HierachiDemo();
//function call here
}
}
Я хранятся элементы в ArrayList. Теперь мой вопрос: мне нужна функция рекурсии, в которой я передам имя, и он даст мне всех детей с n-го уровня. например: Если я передам A1 в качестве имени, тогда он должен вернуть мне всех детей, таких как A11, A12, A13, а также, если у вас есть субшильда A11, A12, A13, которые также должны отображаться. Мне нужен конечный результат как A11, A12, A13, A111, A112, A113.
Связаны ли родители и дети через идентификатор и идентификатор PID? – matt
Почему вы пытаетесь представить иерархическую структуру в списке (плоском)? – Spotted