FC ConcursosFC Concursos

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 é

  1. c -> cidades
  2. new Comparatorestring> (a,b)
  3. new Comparator=sString> (a -> b)
  4. (a, b) -> a. compareTo (b)
  5. 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

Continue aprendendo