Olá,
Após acompanhar o curso sobre listas, fiquei com dúvida a respeito de como o Java faz para ordená-las.
Durante as aulas é feita uma rápida busca no Java Docs de como funciona o algoritmo de ordenação de valores, onde:
se o valor x
é maior que y
, retorna 1; se os valores foram iguais, retorna 0; e se x
for menor que y
, retorna -1.
O Paulo até menciona que esse processo de retornar valores numéricos da comparação "vem de coisa antiga do Java", mas foi apenas um comentário e ele não se aprofundou nesse ponto. Tentei entender mais a fundo esse processo e fui direto no método compareTo
da Classe Integer
, mas o algoritmo segue a mesma lógica.
Entendi a lógica de diferenciar valores, mas ao mesmo tempo achei um algoritmo muito simples e não muito claro sobre como depois de diferencia-los, ele os organiza em um array ou lista. Há mais passos nesse processo que eu não reparei ? é um processo feito internamente pela JVM no momento da compilação do código ?