groupingBy & Java 8 - after groupingBy convert map to a list of objects -


is there way simplify , directly convert map got groupingby list of elements have key , values attributes? , not have 2 times conversions stream.

what doing here fetch riskitems , map them dto, after need them grouped attribute riskitemdto - riskdto , these list of elements have riskdto , coressponding riskitemdtos elements..

 riskitemrepositorycustom.findriskitemsbyrisktypename(risktypename)             .stream()             .map(mapper::maptodto)             .collect(groupingby(riskitemdto::getrisk))             .entryset()             .stream()             .map( entry -> new riskwithriskitemsdto(entry.getkey(),entry.getvalue()))             .collect(collectors.tolist()); 

no, 2 separate stream operations; result of grouping input second pipeline.

i know lots of people try make game out of "use few semicolons possible", goal should readability , clarity, not concision. in general, think better honest going on, , write 2 separate stream operations:

map<riskitemdto, list<riskitem> itemsbyrisk = repo.findriskitemsbyrisktypename(risktypename)         .stream()         .map(mapper::maptodto)         .collect(groupingby(riskitemdto::getrisk));  list<riskwithriskitemsdto> list = itemsbyrisk.entryset().stream()         .map( entry -> new riskwithriskitemsdto(entry.getkey(),entry.getvalue()))         .collect(collectors.tolist()); 

Comments

Popular posts from this blog

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -

c# - “System.Security.Cryptography.CryptographicException: Keyset does not exist” when reading private key from remote machine -