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

Estrutura de decisão

Olá,

No código abaixo há um if implícito? Como devo interpretá-lo?

maiores = maiores.subList(0, maiores.size() > 3 ? 3 : maiores.size());
1 resposta
solução!

Boa noite, Roger! Como vai?

A estrutura maiores.size() > 3 ? 3 : maiores.size() vista no código se chama if ternário. Seria o mesmo que fazer:

if (maiores.size() > 3) {
     return 3;
} else {
     return maiores.size();
}

Ou seja, nesse caso específico do código, o segundo argumento do método subList() será 3 se maiores.size() > 3 ou maiores.size() caso contrário. Sendo assim, a expressão que aparece antes do sinal de ? representa a condição do if, entre o sinal de ? e o sinal de : aparece o resultado caso a expressão condicional seja verdadeira e após o : é inserido o resultado caso a condicional seja falsa.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!