Estou com uma dúvida de conceito. java.util.Collection é uma interface. Para interfaces devemos usar implements, para simbolizar que estamos "assinando o contrato da interface". Sendo assim, por que a classe java.util.List usa extends para herda a Collection. Fiquei com uma dúvida de conceito já que o Collection é uma interface. Não deveria implementar ao invés de herdar ?
package java.util;
public interface Collection<E> extends Iterable<E> {
}
package java.util;
public interface List<E> extends Collection<E> {
...
}