What is the correct way to filter elements of a list with declarative programming? My idea is to create a new list with more specific elements. For example having a new list only dates from a date specified by the user.
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
public class App {
public static void main(String[] args) {
Date d1 = new Date("2020/02/15");
Date d2 = new Date("2020/03/15");
Date d3 = new Date("2020/04/15");
Date d4 = new Date("2020/05/15");
Date d5 = new Date("2020/06/15");
Date d6 = new Date("2020/07/15");
List<Date> dates1 = new ArrayList<>();
dates1.add(d1);
dates1.add(d2);
dates1.add(d3);
dates1.add(d4);
dates1.add(d5);
dates1.add(d6);
Date dateFilter = new Date("2020/05/14");
List<Date> dates2 = dates1.stream()
.filter((date -> date.compareTo(dateFilter)))
.collect(Collectors.toList());
}
}
It is a bit hard to understand your question, From what I understood below is the solution you can try: