Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Diferente implementação do sort

Quando eu abri o sort da minha classe List vi que tinha uma implementação diferente da que o Paulo mostrou no video que não usa Collections, a implementação que aparece pra mim é a seguinte

default void sort(Comparator<? super E> c) {
        Object[] a = this.toArray();
        Arrays.sort(a, (Comparator) c);
        ListIterator<E> i = this.listIterator();
        for (Object e : a) {
            i.next();
            i.set((E) e);
        }
    }

E o que aparece na aula é :

default void sort(Comparator<? super E> c) {
    Collections.sort(this, c);
}

Ao que se deve essa mudança? O código que não utiliza Collections tem maior desempenho?

1 resposta
solução

Fala Gabriel, tudo bem?

Como esse curso de Java 8 foi lançado tem algum tempo, provavelmente o update do JDK 8 utilizado pelo Paulo no vídeo era algum update inicial. Como o JDK está no update 191 atualmente muita coisa mudou ao longo do tempo, mas a lógica em si do sort é a mesma.

Por exemplo, a minha implementação do sort está assim:

list.sort(null);

(Estou no update 181 do JDK 8)

Abraço!