We have already used lambda expressions in Chapter 3, Optimizing the Sort - Making Code Professional, when we wrote the exception-throwing test. In that code, we set the comparator to a special value that was throwing RuntimeException at each invocation:
sort.setComparator((String a, String b) -> { throw new RuntimeException(); });
The argument type is Comparator; therefore, what we have to set there should be an instance of a class that implements the java.util.Comparator interface. That interface defines only one method that implementations have to define—compare. Thus, we can define it as a lambda expression. Without lambda, if we need an instance, we have to type a lot. We have to create a class, name it, declare the compare() ...