Sequences maken
Van collecties en generators
Sequences maken is een gratis Kotlin Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Academy bevat in totaal 4 lessen.
Sequences maken
Er zijn meerdere manieren om een Sequence te maken: vanuit bestaande collecties, vanuit elementen, met een generatorfunctie of met een bouwer. In deze les worden ze allemaal behandeld.
Van een collectie met asSequence
De meest gebruikelijke aanpak is om asSequence() aan te roepen op een bestaande collectie, zodat die lui wordt verwerkt.
fun main() {
val seq = listOf(1, 2, 3, 4).asSequence()
val result = seq.map { it * 2 }.toList()
println(result)
}Van elementen met sequenceOf
sequenceOf maakt rechtstreeks een sequence van een vaste verzameling waarden.
fun main() {
val seq = sequenceOf("a", "b", "c")
seq.forEach { println(it) }
}Oneindige Sequences met generateSequence
generateSequence bouwt een mogelijk oneindige sequence op basis van een startwaarde en een functie die het volgende element berekent. Combineer dit met take om de sequence te beperken.
fun main() {
val powers = generateSequence(1) { it * 2 }
val first5 = powers.take(5).toList()
println(first5)
}generateSequence stoppen
Als de functie voor het volgende element null retourneert, eindigt de sequence. Zo kun je elementen genereren totdat aan een voorwaarde is voldaan.
fun main() {
val countdown = generateSequence(5) { if (it > 1) it - 1 else null }
println(countdown.toList())
}generateSequence zonder startwaarde
Je kunt één producer-lambda doorgeven die de volgende waarde of null retourneert. Dat is handig om invoerstromen lui te lezen.
fun main() {
var n = 0
val seq = generateSequence { if (n < 3) n++ else null }
println(seq.toList())
}De sequence-bouwer
Met de sequence { }-bouwer kun je op imperatieve wijze elementen produceren met yield (één waarde) en yieldAll (meerdere waarden).
fun main() {
val seq = sequence {
yield(1)
yield(2)
yieldAll(listOf(3, 4))
}
println(seq.toList())
}Luie waarden opleveren
De bouwer is ook lui: de code tussen yield-aanroepen wordt alleen uitgevoerd wanneer elementen worden opgevraagd. In combinatie met take kun je veilige oneindige generatoren beschrijven.
fun main() {
val naturals = sequence {
var i = 1
while (true) {
yield(i)
i++
}
}
println(naturals.take(4).toList())
}Fibonacci met generateSequence
Een klassiek voorbeeld: genereer Fibonacci-getallen op een luie manier met een Pair als toestand.
fun main() {
val fib = generateSequence(Pair(0, 1)) { Pair(it.second, it.first + it.second) }
.map { it.first }
println(fib.take(8).toList())
}Terug converteren naar een collectie
Een sequence wordt pas een concrete collectie wanneer je een terminale bewerking aanroept, zoals toList(), toSet() of toMutableList().
fun main() {
val set = sequenceOf(1, 2, 2, 3).toSet()
println(set)
}Een creatiemethode kiezen
Gebruik asSequence() voor bestaande gegevens, sequenceOf voor vaste waarden, generateSequence voor berekende reeksen en de sequence { }-bouwer voor aangepaste imperatieve generatie.
Snelle controle
Hoe weet generateSequence wanneer die moet stoppen?
Samenvatting
Je kunt Sequences maken met asSequence(), sequenceOf, generateSequence (startwaarde plus volgende waarde, eindigt bij null) en de sequence { }-bouwer met yield/yieldAll. Vervolgens zie je hoe luie bewerkingen tussenliggende lijsten vermijden.
Leer Kotlin met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 51
- Lessen
- 203
Veelgestelde vragen
Is de les “Sequences maken” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Kotlin Academy, waaronder “Sequences maken”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Kotlin Academy bevat in totaal 4 lessen.
Wat leer ik in “Sequences maken”?
Van collecties en generators Je oefent met Kotlin Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Kotlin Academy te beginnen?
Ervaring vooraf is niet nodig. Kotlin Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Sequences maken”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Kotlin Academy?
Ja. Elke les over Kotlin Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom sequences
- Sequences maken
- Luie bewerkingen
- Sequences versus collecties