java 8 nested streams
java-8, java-stream, lambda
Solution
Guess what you need: (Assume getters are available for `Review` and `RelReviewImage`)
List<Review> originalReviews = ...
List<Review> result = originalReviews.stream()
.filter(review -> review.getImages().stream() //Nested streams. Assume getImages() never null, but empty
.anyMatch(image -> image.getIdImage() == 123)) //'2 level' here
.collect(Collectors.toList());
Problem
Suppose you have structure classes like this: ``` public class Review{ private Integer idReview; private String description; private ArrayList<RelReviewImage> images; } public class RelReviewImage{ private Integer idRelReviewImage; private Integer idImage; private String name; } ``` With Java 8 and `Stream`s we want to do a filter for `idImage` and return `Review` objects. Is it possible? One level is easy, but 2 levels we can't find any example or documentation.