Questão FC373253
Jakarta EE & aproveita recursos modernos do Java B, como expressões lambda. Nesse contexto, considere o código Java abaixo, em condições ideais. ListeBtring> cidades = Arrays.asLis
Linguagens de Programação
FCC · 2024
Jakarta EE & aproveita recursos modernos do Java B, como expressões lambda. Nesse contexto, considere o código Java abaixo, em condições ideais.
ListeBtring> cidades = Arrays.asList("Salvador", "Feira de Santana", "Juazeiro");
Collections.sort (cidades, I );
A expressão lambda que deve ser colocada na lacuna 1 para que a lista de cidades seja colocada em ordem alfabética crescente é
- c -> cidades
- new Comparatorestring> (a,b)
- new Comparator=sString> (a -> b)
- (a, b) -> a. compareTo (b)
- new Comparator().compareTo(a,b)
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
(a, b) -> a.compareTo(b) é uma expressão lambda que implementa o contrato de Comparator: recebe dois String e retorna um int. O método compareTo da classe String devolve valor <0, 0 ou >0 quando a é, respectivamente, lexicograficamente menor, igual ou maior que b.
Como Collections.sort(List, Comparator) usa esse inteiro para ordenar, passar a.compareTo(b) ordena a lista na ordem alfabética crescente (ordem natural dos strings).
Tipos são inferidos pelo compilador, então não é preciso declarar explicitamente String nos parâmetros. Em condições ideais, essa lambda é direta, concisa e correta para a ordenação crescente.
Conteúdo do catálogo FC Concursos · Atualizado em