Uma boa tarde!
Estou com dúvida em relação as coleções. Pelo que entendi, a "List" é filha da "Collection". Logo, a mesma herda suas funcionalidades. Por que o código: " Collection alunosEmLista = new ArrayList<>(alunos);" retorna um erro no "Collections.sort" e "List alunosEmLista = new ArrayList<>(alunos);" retorna o que é desejado?
Segue o código.
package ex05_01_OpoderDosSets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
public class TestaAlunos {
public static void main(String[] args) {
Collection<String> alunos = new HashSet<>();
alunos.add("Lucas");
alunos.add("Pedro");
alunos.add("Luiz");
alunos.add("Junior");
Boolean alunoEstaMatriculado = alunos.contains("Lucas ");
System.out.println(alunoEstaMatriculado);
alunos.forEach(System.out::println);
// Apresenta erro no sort
// Collection<String> alunosEmLista = new ArrayList<>(alunos);
// Não apresenta erro no sort
List<String> alunosEmLista = new ArrayList<>(alunos);
Collections.sort(alunosEmLista);
System.out.println(alunos);
}
}
Grato.