import java.util.Date;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.stream.Stream;
import java.text.SimpleDateFormat;
import java.text.ParseException;

class TesteDatas {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        sdf.setLenient(false);

        Date[] datas = {sdf.parse("02/02/2000"), sdf.parse("03/03/2000"), sdf.parse("04/04/2000")};
        Date data1 = sdf.parse("03/01/2000");

        // Exemplo 1.
        boolean menor1 = true;
        for (Date d : datas) {
            if (d.compareTo(data1) < 0) {
                menor1 = false;
                break;
            }
        }
        System.out.println(menor1 ? "Era a menor." : "Não era a menor.");

        // Exemplo 2.
        SortedSet<Date> datas2 = new TreeSet<>();
        for (Date d : datas) {
            datas2.add(d);
        }
        datas2.add(data1);
        boolean menor2 = data1.equals(datas2.first());
        System.out.println(menor2 ? "Era a menor." : "Não era a menor.");

        // Exemplo 3.
        boolean menor3 = Stream.of(datas).allMatch(d -> data1.compareTo(d) < 0);
        System.out.println(menor3 ? "Era a menor." : "Não era a menor.");
    }
}