Liste döngüsü
- Kotlin kursu
- Başlangıç
- Ders 62/116
- 5 dk
for ve forEach ile liste gezinmeyi öğrenirsin.
Liste döngüsü: for ve forEach
Bir listenin tüm elemanlarını gezmek için en doğal yol for (x in list) döngüsüdür. Her döngüde x sıradaki eleman olur. forEach { } ise aynı işi lambda ile yapar.
val cities = listOf("İstanbul", "Ankara", "İzmir")
for (city in cities) {
println(city)
}Indekslere de ihtiyacın varsa cities.indices ile 0..size-1 aralığını ya da cities.withIndex() ile indeks-değer çiftlerini gezebilirsin.
forEach, indices ve withIndex
forEach bir lambda alır ve listedeki her eleman için çalıştırır. Lambda'da eleman it olarak bilinir. indices indeks aralığını, withIndex() ise (index, value) çiftlerini döndürür.
cities.forEach { println(it) }
for (i in cities.indices) println(i)
for ((i, c) in cities.withIndex()) println("$i: $c")Indekse ihtiyaç varsa withIndex() en okunabilir seçenektir; hem konumu hem değeri aynı anda verir.
Uygulama Şehirleri for döngüsüyle yazdır
Bir listOf("İstanbul", "Ankara", "İzmir") oluştur ve for (city in cities) döngüsüyle her şehri ayrı satırda yazdır.
Başlangıç kodu
fun main() {
val cities = listOf("İstanbul", "Ankara", "İzmir")
// Her şehri ayrı satırda yazdır
}Örnek çözüm
fun main() {
val cities = listOf("İstanbul", "Ankara", "İzmir")
for (city in cities) {
println(city)
}
}Beklenen çıktı
İstanbul Ankara İzmir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi her elemanı ayrı satırda yazdırır?
- for (x in list) println(x) Doğru cevap
- for (x of list) println(x)
- foreach (x in list) println(x)
- for (x = 0; x < list; x++) println(x)
Açıklama: Kotlin'de döngü for (x in list) biçimindedir.
2 Boşluğu doldur: for döngüsü
for (name ____ names) println(name)
for (name in names) println(name)
Açıklama: for (name in names) her ismi gezerek yazdırır.
3 Döngü ifadesini kullanımıyla eşleştir
| Kavram | Anlamı |
|---|---|
for (x in list) |
Her elemanı gezer |
list.forEach { } |
Lambda ile gezer |
list.indices |
0..size-1 aralığı |
list.withIndex() |
Indeks+değer çiftleri |
4 list.withIndex() ne döndürür?
- Yalnızca indeksler
- IndexedValue akışı Doğru cevap
- Yalnızca değerler
- Boolean
Açıklama: withIndex() IndexedValue çiftleri verir; indeks ve değer birlikte.