Demonstração de algumas das novas features do Java 8. ✔
- Vamos fazer um lambda?
- Mas antes, conhecer o model: (1)Treinador-(N)Pokemons
- Problema: Escrever um for reusável em qualquer lista
- Indicar a lista e ação em cada item
- Solução: Builder com classe anônima
- Mas... É feio...
- Implementar: forEach com Classe Anônima
- Transformar para lambda
- Só dá para transformar se for Interface Funcional
- Transformar os validadores para lambda
- Jogar o método para dentro da interface
- Explicar palavra-chave: default
- Sobreescrever default method na Main
- Reforçar: Lambda só em interface funcional
- JDK8 trouxe vários default methods
- Mostrar sort do iterator
- Transformar para lambda
- Comparator tem default:
Comparator.comparing
Comparator.thenComparing- Principal default: Collection.stream()
- Como funciona?
- Slide: Collection vs Stream
- Lista de Operações
- Coletar resultado
- Tipo de coletores
- Código
- Só o que interessa
-
condição ação resultado filter() map() toList()
- Cortar
- Slide: Mostrar objetivo desse desafio
- Código
- Só o que interessa:
- Linha 23 - pokemons de cada treinador
- Linha 20 - Set para não repetir
- Mostrar flatMap espera um stream
- Coletar num toSet()
- Conhecer outros Coletores
- Slide
- Diferença entre groupingBy e toMap
- Código
- Linha 22 e 23
- Código Linha 24 chave-valor
- toMap
- sem Optional ainda
- Dá pra melhorar?
- Optional errado
- isPresent
- Certo
- map
- orElse
- Roteiro.txt
- API de Stream é só uma das novidades
- CompletableFuture
- DataTime
- Rhino
- Slide
- Por que usar
- Meme
- Perguntas???