Streams Api
map
Trabalhando com map
O método map
é uma das operações mais poderosas da Streams API do Java 8. Ele permite transformar cada elemento de uma stream de acordo com uma função fornecida e coletar os resultados em uma nova stream.
Sintaxe
A sintaxe básica do map
é bastante simples. Ele aceita uma função como argumento, que é aplicada a cada elemento da stream.
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> elementosMultiplicados = numeros.stream()
.map(valor -> {
// Transformação a ser aplicada a cada elemento
})
.collect(Collectors.toList());
Exemplo
Vejamos um exemplo prático de como usar o map
:
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> elementosMultiplicados = numeros.stream()
.map(valor -> {
return valor * 2;
})
.collect(Collectors.toList());
System.out.println(elementosMultiplicados);
Este código irá gerar uma nova lista elementosMultiplicados
, onde cada elemento é o dobro do elemento correspondente na lista original. A saída será [2, 4, 6, 8, 10]
.
Dicas
- O
map
é extremamente útil para transformar os elementos de uma coleção de uma forma concisa e legível. - Se a função lambda passada para o
map
retornar apenas uma expressão, você pode simplificar ainda mais o código.
Com o return:
.map(valor -> {
return valor * 2;
})
Simplificado:
.map(valor -> valor * 2)
Limitações
É importante notar que o map
não modifica a coleção original. Ele apenas cria uma nova coleção com os elementos transformados.