Używam tego wyrażenia do filtrowania listy osób, których kryteria spełniają kryteria urodzin.Jak przechwycić listę usuniętych elementów z Java 8 Filtrowanie strumienia?
List<Person> matchingPeople = people.stream()
.filter(p -> dateFilters.stream()
.anyMatch(df ->
numOfDaysBetween(p.getBirthDate(), df.getDate()) < df.getDiffRange()
)
)
.collect(Collectors.toList());
Collectors.toList()
zwraca listę osób spełniających kryteria. Zastanawiam się, jak zdobyć listę osób, które zostały usunięte w celu debugowania/rejestrowania. Jednym z możliwych sposobów jest uruchomienie listy przez inny filtr, ale to będzie nieefektywne. Czy możemy zrobić to w tym samym filtrze?
Cóż, jeśli nie chcesz filtrować żadnych elementów ou t, możesz po prostu mapować, grupować według wyniku i redukować na dwie różne listy wyników. – midor