Предикат - это функция, которая говорит "разрешен ли этот ряд".Чтобы разрешить строку, она должна возвращать true.
Эту функцию предиката можно передать в коллекцию для ее фильтрации.
Например:
public static List<Employee> filterEmployees (List<Employee> employees,
Predicate<Employee> predicate)
{
return employees.stream()
.filter( predicate )
.collect(Collectors.<Employee>toList());
}
Приведенный выше примерначиная с Java 8.
Вот более полный список в этой статье: https://www.baeldung.com/java-collection-filtering
Мне также нравится метод Collections2.filter библиотеки Google Guava, упомянутый в статье выше.
Collection<MyClass> result = Collections2.filter(baseCollection, predicate);
Конечно, все же предикат должен быть написан для анализа дат из файла и сравнения их с входным диапазоном дат.