Java8 Stream: Colete elementos após o cumprimento de uma condição
Meu POJO é o seguinte
class EventUser {
private id;
private userId;
private eventId;
}
Eu recupero o objeto EventUser da seguinte maneira:
List<EventUser> eventUsers = eventUserRepository.findByUserId(userId);
Digamos que 'eventUsers' seja o seguinte:
[
{"id":"id200","userId":"001","eventId":"1010"},
{"id":"id101","userId":"001","eventId":"4212"},
{"id":"id402","userId":"001","eventId":"1221"},
{"id":"id301","userId":"001","eventId":"2423"},
{"id":"id701","userId":"001","eventId":"5423"},
{"id":"id601","userId":"001","eventId":"7423"}
]
Usando streaming e sem usar qualquer variável intermediária, como posso filtrar e coletar eventos após um determinado EventUser.id: ex:
List<EventUser> filteredByOffSet = eventUsers.stream.SOMEFILTER_AND_COLLECT("id301");
o resultado deve ser:
[{"id":"id301","userId":"001","eventId":"2423"},
{"id":"id701","userId":"001","eventId":"5423"},
{"id":"id601","userId":"001","eventId":"7423"}]