Мой метод size просто возвращает размер списка,
в котором записано все текущее древо;
причем в предыдущем этапе этот же метод принимался валидатором
@Override
public int size() {
return treeList.size();
}
package com.javarush.task.task20.task2028;
import java.util.List;
public class Solution {
public static void main(String[] args) {
List<String> list = new CustomTree();
for (int i = 1; i < 17; i++) {
list.add(String.valueOf(i));
}
System.out.println("The list size is " + list.size());
System.out.println("The expected parent is 3. The actual parent is " + ((CustomTree) list).getParent("8"));
System.out.println("The expected parent is null. The actual parent is " + ((CustomTree) list).getParent("20"));
list.remove("2");
System.out.println("Now List's size: "+list.size());
((CustomTree) list).treeList.forEach(elem -> {
System.out.print(elem.elementName+"("+elem.level+"lev)");
System.out.println(" -> parent " + elem.parent.elementName);
});
/*System.out.println(list.remove("3"));
System.out.println("The expected parent is null. The actual parent is " + ((CustomTree) list).getParent("8"));
((CustomTree) list).treeList.forEach(elem -> {
System.out.print(elem.elementName+"("+elem.level+" lev)");
System.out.println(" -> parent " + elem.parent.elementName);
});
list.add("16");
System.out.println("The expected parent is 9. The actual parent is " + ((CustomTree) list).getParent("16"));
list.remove("4");
list.remove("5");
list.remove("6");
System.out.println("Expected: true. Actual: " + list.add("20"));
System.out.println("The expected parent is 1. The actual parent is " + ((CustomTree) list).getParent("20"));*/
}
}
