Учитывая следующий класс A
:
public class A {
private int id; //this field is unique
private int a_1; //this field ain't unique
private String a_2;
private String a_3;
//setters + getters
}
Мы можем сгруппировать list
случайных объектов типа A
в соответствии с их соответствующими a_1
:
Map<String, List<A>> sortedmap = list.stream()
.collect(Collectors.groupingBy(A::getA_1, Collectors.toList()));
Теперь даны два класса B
и C
, например:
public class B{
private int id; //this field is unique for all entities of type B
private String b_1;
private C b_C; //many objects of type B may have a reference to the same object of type C
//setters + getters
}
public class C{
private int id; //this field is unique for all entities of type C
private String c_1;
private D c_D; //many objects of type C may have a reference to the same object of type D
//setters + getters
}
public class D{
private int id; //this field is unique for all entities of type D
private String d_1;
private String d_2;
//setters + getters
}
Как мы можем отсортировать список случайных объектов типа B
по их соответствующему полю b_C.getC_D().getId()
?