If you can use a Set instead of a List, put the dates in a NavigableSet such as TreeSet and use the methods lower and higher.
NavigableSet dates = new TreeSet();
// add some dates to dates
Date now = new Date();
Date highestDateUpUntilNow = dates.lower(now);