Filtragem e Mapeamento
Transforme coleções
Filtragem e Mapeamento é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
Transformando coleções
As coleções do Kotlin vêm com um conjunto amplo de operações funcionais. Duas das mais comuns são filter (selecionar elementos) e map (transformar elementos). Elas retornam novas coleções e nunca modificam a original.
A função filter
filter mantém somente os elementos que satisfazem um predicado, retornando uma nova lista.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val evens = numbers.filter { it % 2 == 0 }
println(evens)
}filterNot e filterNotNull
filterNot mantém os elementos que não correspondem. filterNotNull remove os elementos nulos e retorna uma lista sem nulos.
fun main() {
val nums = listOf(1, 2, 3, 4)
println(nums.filterNot { it > 2 })
val withNulls = listOf(1, null, 3, null)
println(withNulls.filterNotNull())
}filterIndexed
filterIndexed fornece tanto o índice quanto o valor no predicado.
fun main() {
val letters = listOf("a", "b", "c", "d")
val result = letters.filterIndexed { index, _ -> index % 2 == 0 }
println(result)
}A função map
map aplica uma transformação a cada elemento e retorna uma nova lista com os resultados. O tipo do resultado pode ser diferente do tipo de entrada.
fun main() {
val numbers = listOf(1, 2, 3)
val squares = numbers.map { it * it }
println(squares)
}Mapeando para outro tipo
map pode alterar o tipo dos elementos, por exemplo, transformando números em strings.
fun main() {
val numbers = listOf(1, 2, 3)
val labels = numbers.map { "Item $it" }
println(labels)
}mapIndexed
mapIndexed fornece o índice junto com cada elemento, para que você possa usar a posição na transformação.
fun main() {
val fruits = listOf("apple", "banana", "cherry")
val numbered = fruits.mapIndexed { i, fruit -> "${i + 1}. $fruit" }
numbered.forEach { println(it) }
}mapNotNull
mapNotNull transforma cada elemento e descarta os resultados nulos. É uma forma organizada de combinar mapeamento e filtragem.
fun main() {
val strings = listOf("1", "two", "3", "four")
val numbers = strings.mapNotNull { it.toIntOrNull() }
println(numbers)
}Encadeando filter e map
Essas operações se combinam naturalmente. Um padrão comum é filtrar primeiro e depois mapear os elementos restantes.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val result = numbers
.filter { it % 2 == 0 }
.map { it * 10 }
println(result)
}As operações não são destrutivas
Tanto filter quanto map retornam listas completamente novas. A coleção original permanece inalterada, o que torna seu código mais seguro e fácil de compreender.
fun main() {
val original = listOf(1, 2, 3)
val doubled = original.map { it * 2 }
println("Original: $original")
println("Doubled: $doubled")
}Filtragem e mapeamento na prática
Juntos, filter e map permitem expressar fluxos de dados de forma declarativa: descreva WHAT você quer, não HOW fazer o laço. Isso é mais claro do que laços for manuais com acompanhamento do índice.
Verificação rápida
Qual é a diferença entre filter e map?
Recapitulação
Você aprendeu a selecionar elementos com filter (e suas variantes filterNot, filterIndexed, filterNotNull) e a transformá-los com map (e mapIndexed, mapNotNull). Eles podem ser encadeados de forma simples e nunca alteram a fonte. Em seguida, você organizará dados com agrupamento e particionamento.
Perguntas Frequentes
A aula “Filtragem e Mapeamento” é grátis?
Sim — o texto completo de “Filtragem e Mapeamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Filtragem e Mapeamento”?
Transforme coleções Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Filtragem e Mapeamento”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Filtragem e Mapeamento
- Agrupamento e Particionamento
- Agregação
- Associação e Achatamento