image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Edson Yamazaki
Edson Yamazaki24/08/2023 13:42
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

Resolvendo o desafio “Reunião de Acionistas” com Stream API

  • #Java

A Stream API do Java é uma parte da biblioteca padrão do Java que foi introduzida no Java 8. Ela fornece uma maneira eficiente e funcional de lidar com sequências de elementos, como coleções (Listas, Conjuntos, etc.) e arrays. 

 

A Stream API permite realizar operações de processamento de dados de maneira concisa e expressiva, utilizando operações de filtragem, mapeamento, ordenação e redução, entre outras. As streams permitem que você trate os dados como um fluxo contínuo, evitando a necessidade de manipulação manual de loops e iteradores. 

 

Sobre o desafio:

Basicamente desafio fornece uma lista de análise (List< Analise > analises) com valores já preenchidos e pede para você filtrar os valores com base em duas datas (período das análises). 

Implemente os métodos getters da classe Analise. Se estiver usando o Intelli J como eu, pressione Alt + Insert à Getter à Selecionar os dois atributos e clique em OK, a IDE criará os getters automaticamente.

image

Use o Stream API para retornar a lista de String:

image

1 – .filter() - você consegue facilmente filtrar os valores que deseja passando uma ou mais condições dentro dos parênteses.

2 – .map() – Depois de filtrar, você pode “mapear” os valores para um novo tipo de dado, no nosso caso uma queremos somente a descrição da análise (String).

3 – .toList() – Por fim, é necessário que você informe o tipo de retorno esperado, no nosso caso, uma lista de String (List<String>).

Obs.: Decidi não expor as condicionais dentro do filter e map, justamente para que vocês procurem/explorem as soluções por vocês mesmos.

 

Exemplo usando os mesmos dados:

image

Nesse exemplo, o método obterAnalisesDesempenho retornará uma lista de descrição, dependendo do valor de entrada dataInicial.

Ex.:

dataInicial = 01/04/2023 o que será impresso: Analise de Politicas e Regulamentacoes

dataInicial = 15/02/2023 o que será impresso: Analise de Riscos e Exposicoes

 

Agora é com você!

Ajuste a condicional do .filter() para retornar um período desejado.

Compartilhe
Recomendados para você
Deal - Spring Boot e Angular (17+)
Cognizant - Arquitetura com Spring Boot e Cloud
Claro - Java com Spring Boot
Comentários (0)
Recomendados para você