Изучение Java 8 Lambdas и просто интересно, как компилятор знает, какой метод в Компараторе использовать для выражения лямбда? Кажется, это не интерфейс SAM? Он имеет 2 абстрактных метода:
@FunctionalInterface
public interface Comparator<T> {
int compare(T o1, T o2);
boolean equals(Object obj);
}