witam mam listę obiektów mój obiekt posiada trzy polalista konwersji obiektu na mapie <String, Map <String, Integer >> java8 strumieni
class MyObject{
String x;
String y;
int z;
//getters n setters
}
muszę przekonwertować ten wykaz do Map<String,Map<String,Integer>>
to jest tak: {x1:{y1:z1,y2:z2,y3:z3},x2{y4:z4,y5:z5}}
format Chcę to zrobić w Javie 8, który myślę, że jestem stosunkowo nowy w tym.
Próbowałem następujące:
Map<String,Map<String,Integer>> map=list.stream().
collect(Collectors.
groupingBy(MyObject::getX,list.stream().
collect(Collectors.groupingBy(MyObject::getY,
Collectors.summingInt(MyObject::getZ)))));
to nawet nie skompilować. pomoc jest bardzo ceniona
Podaj wejście próbkowania, nie jest jasne, w jaki sposób można uzyskać wszystkie te Y i Z. z pojedynczego x –
Nie powinieneś ponownie wykorzystywać swojego strumienia, tak jak nie musisz. Nie sądzę, że problem jest dobry dla Strumieni, ponieważ myślę, że próbujesz wziąć pierwsze dwa elementy i zamapować je na '' 'MyObject.x''' oraz trzeci i czwarty element i mapować je za pomocą drugie elementy x wartość. Może to być możliwe dzięki niestandardowemu kolektorowi, ale manipulujesz wieloma stanami – Gavin