Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi a lógica

Gostaria que alguém me explicasse porquê a subtração das idades dos funcionários devolve em ordem crescente?

Eu imagino que será feita a subtração e será devolvido os menores valores primeiro para depois os maiores. É isso?

@Override
    public int compare(Funcionario funcionario, Funcionario outroFuncionario) {
        return funcionario.getIdade() - outroFuncionario.getIdade();
    }
1 resposta
solução!

Oi Lucas! Tudo certinho?

Desculpe pela demora em obter retorno.

Na verdade, o que o método faz é ver se um funcionário é maior que o outro fazendo a subtração das idades: suponha que funcionario tenha 26 anos, e que outroFuncionario tenha 30. Ao fazer a subtração, o retorno do método será -4, e, por debaixo dos panos, o método de ordenação usará esse retorno para saber como ordenar: se for negativo, ele irá trocar a ordem, se for 0, continuará a mesma ordem (porque ele entende que são iguais), e se for positivo, também manterá, porque irá considerar que já está na ordem correta.

No caso, toda a coleção de valores é percorrida e esses valores vão sendo comparados dois a dois para que ela toda fique ordenada.

Espero ter ajudado!

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software