0Pricing
Kotlin Academy · Aula

Iterando e transformando coleções com a biblioteca padrão

Use map, filter, any, all e count em exemplos reais de coleções.

Iterando e transformando coleções com a biblioteca padrão é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 4 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.

Coleções como fluxos de processamento

A biblioteca padrão do Kotlin transforma coleções por meio de operações encadeadas. Cada função retorna uma nova coleção — a original permanece inalterada.

Transformação um para um

A função de mapeamento aplica uma função a cada elemento e retorna uma lista de resultados.
val prices = listOf(10, 20, 30)
val withTax = prices.map { it * 1.1 }
println(withTax)  // [11.0, 22.0, 33.0]

flatMap: um para muitos

flatMap transforma cada elemento em uma lista e depois achata todas as listas em uma só.
val sentences = listOf("hello world", "foo bar")
val words = sentences.flatMap { it.split(" ") }
println(words)  // [hello, world, foo, bar]

Filtragem e filterNot

A filtragem mantém os elementos que correspondem ao predicado; filterNot mantém aqueles que não correspondem.
val nums = (1..10).toList()
val evens = nums.filter { it % 2 == 0 }
val odds = nums.filterNot { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8, 10]

Agrupamento por chave

groupBy retorna um Map> em que os elementos são agrupados pela função de chave.
val words = listOf("one", "two", "three", "four", "five")
val byLength = words.groupBy { it.length }
println(byLength)
// {3=[one, two], 5=[three], 4=[four, five]}

Associação e associateBy

A associação constrói um Map com uma expressão lambda de par chave-valor. associateBy usa um extrator de chave.
val items = listOf("apple", "banana", "cherry")
val byFirst = items.associateBy { it.first() }
println(byFirst)  // {a=apple, b=banana, c=cherry}

partition: dividindo em dois

partition divide uma coleção em duas listas: elementos correspondentes e não correspondentes.
val (evens, odds) = (1..8).partition { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8]
println(odds)   // [1, 3, 5, 7]

distinct e distinctBy

distinct remove elementos duplicados. distinctBy remove duplicatas com base em uma chave.
val nums = listOf(1, 2, 2, 3, 1, 4)
println(nums.distinct())  // [1, 2, 3, 4]
val words = listOf("Hi", "hello", "HI")
println(words.distinctBy { it.lowercase() })

take, drop e chunked

take obtém os primeiros N elementos; drop ignora os primeiros N; chunked divide a coleção em sublistas de tamanho N.
val list = (1..10).toList()
println(list.take(3))    // [1, 2, 3]
println(list.drop(7))    // [8, 9, 10]
println(list.chunked(3)) // [[1,2,3],[4,5,6],[7,8,9],[10]]

zip: combinando duas coleções

zip combina duas listas em uma lista de pares. Para na lista mais curta.
val names = listOf("Alice", "Bob", "Charlie")
val scores = listOf(90, 85, 92)
val combined = names.zip(scores)
println(combined)  // [(Alice, 90), (Bob, 85), (Charlie, 92)]

sumOf, minOf, maxOf, averageOf

Atalhos de agregação que usam funções de transformação.
val items = listOf("apple", "banana", "cherry")
println(items.sumOf { it.length })    // 18
println(items.maxOf { it.length })    // 6
println(items.minOf { it.length })    // 5

Verificação rápida

Qual função agrupa uma coleção em um Map> usando um seletor de chave?

Recapitulação

mapeamento, flatMap, filtragem, groupBy, associação, particionamento, distinct e zip — o conjunto essencial de ferramentas para transformar coleções. Encadeie essas operações em fluxos de processamento expressivos. A seguir: classes e construtores!

Perguntas Frequentes

A aula “Iterando e transformando coleções com a biblioteca padrão” é grátis?

Sim — o texto completo de “Iterando e transformando coleções com a biblioteca padrão” é 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 “Iterando e transformando coleções com a biblioteca padrão”?

Use map, filter, any, all e count em exemplos reais de 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 4 de 4.

Quanto tempo leva a aula “Iterando e transformando coleções com a biblioteca padrão”?

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

  1. listOf, setOf, mapOf: coleções somente para leitura
  2. mutableListOf, mutableMapOf: construtores mutáveis
  3. Acessando elementos: get, first, last, getOrNull
  4. Iterando e transformando coleções com a biblioteca padrão
← Voltar para Kotlin Academy