Родитель - это класс, который наследуется Child. который унаследован от GrandChild. Каждый класс содержит список дочернего класса (т.е. родительский элемент содержит список дочерних элементов, а дочерний элемент содержит список элементов GrandChild). Каждый класс содержит 50 атрибутов (attrib1-atrib50). getChildList() возвращает arrayList объектов типа Child getGrandChildList() возвращает arrayList объектов типа GrandChild
Пусть resultSet будет списком родителей
List<Parent> resultSet
Теперь я хочу отсортировать список на основе некоторых атрибутов. Например, если я хочу отсортировать resultSet на основе двух родительских атрибутов (скажем, атрибута 1 и атрибута 2, я использую этот код.
Comparator<Parent> byFirst = (e1, e2) -> e2.getAttrib1().compareTo(e1.getAttrib1());
Comparator<Parent> bySecond = (e1, e2) -> e1.getAttrib2().compareTo(e2.getAttrib2());
Comparator<Parent> byThird = byFirst.thenComparing(bySecond);
List<Parent> sortedList = resultSet.stream().sorted(byThird).collect(Collectors.toList());
Теперь я хочу отсортировать родительский список на основе атрибута 1 класса Child и атрибута 1 класса GrandChild. Как я должен сортировать это.