Есть такой класс
class Some {
S s;
String s1;
B b;
}
class B {
List<C> listOfC;
}
class C {
List<D> listOfD;
}
class D {
Long l;
}
class S {
String string;
}
Подскажите как с помощью Java 8 разложить в такую структуру
Map<S string, Map<String s1, Map<Long l, List<D>>>>
А попробуйте этим алгоритмом вашу супер-структуру разобрать:
List<Some> someList = ...;
Map<String, Map<String, Map<Long, List<D>>>> items = new HashMap<>();
for (Some some : someList) {
Map<String, Map<Long, List<D>>> sub = items.computeIfAbsent(some.s.string, k -> new HashMap<>());
Map<Long, List<D>> sub2 = sub.computeIfAbsent(some.s1, k -> new HashMap<>());
for (C c : some.b.listOfC) {
for (D d : c.listOfD) {
sub2.computeIfAbsent(d.l, k -> new ArrayList<>()).add(d);
}
}
}
Продвижение своими сайтами как стратегия роста и независимости