Percebi que o metodo array.sort(Comparator.comparing(Objeto::variavel) não funciona quando a lista de objetos esta marcada como Collections.unmodifiableList(array);
o que fazer neste caso, ou estou fazendo algo errado. Tirei a linha Collections.unmodifiableList(aulas) para teste e dai funcionou normalmente.
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Curso {
...
public List<Aula> getAulas() {
return Collections.unmodifiableList(aulas);
}
...
}
public class TestaCurso {
public static void main(String[] args) {
Curso curso = new Curso("curso 1", "instrutor 1");
curso.adiciona(new Aula("Aula 1",15));
curso.adiciona(new Aula("Aula 2",18));
curso.adiciona(new Aula("Aula 3",12));
curso.adiciona(new Aula("Aula 4",19));
curso.adiciona(new Aula("Aula 5",9));
List<Aula> aulas = curso.getAulas();
aulas.sort(Comparator.comparing(Aula::getTempo));
System.out.println(aulas);
}
}