Desafios-Testes-Java

Exercicio 1

Esse desafio envolve a API de Stream do Java para executar operações de filtragem, ordenação e mapeamento e também expressões lambda para a manipulação de coleções.

Ao final pede-se qual opção abaixo está correta:

  1. red, blue, black
  2. yellow, orange
  3. kcalb, eulb, der
  4. der, eulb, kcalb

Solucao: a primeira parte do codigo cria uma lista de string usando Arrays.asList ou seja uma lista parcialmente mutavel, que nao pode adicionar nem remover elementos.

O codigo cria uma Stream (fluxo - uma Stream é uma sequencia de elementos que oferece varias opcoes que podem ser aplicadas de maneira declarativa) da lista, e logo apos usa o metodo filter, este retorna apenas os valores da lista menores que 6 (no nosso exemplo red,black,blue)

O proximo metodo e o sorted, este ira ordenar a Stream, no exercicio e retornado e ordenado pelo tamanho da string ao contrario, ou seja em ordem decresente. Retornando black, blue, red.

O proximo comando a ser usado e o map, este retorna uma nova Stream. Neste exercicio sera retornada uma nova Stream de um new StringBuilder(cor).reverse().toString(). Cada string da lista tera seus caracteres invertidos, tendo como resultado = kcalb, eulb, der. Ou seja resposta 3 do exercicio 1.