title: FunctionalInterface Comparator has 2 abstract methods
body: <p>Learning Java 8 Lambdas and just wondering how the compiler knows which method in Comparator to use for the lambda expression? 
  It doesn't seem to be a SAM interface? It has 2 abstract methods:</p>
  
  <pre><code>@FunctionalInterface
  public interface Comparator&lt;T&gt; {
      int compare(T o1, T o2);
      boolean equals(Object obj);
  }
  </code></pre>