WithIndex Metodu
Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 75 / 93.
Bir liste üzerinde yineleme yaparken çoğu zaman yalnızca öğeyi değil, konumunu da bilmeniz gerekir. withIndex() yöntemi size her ikisini de aynı anda verir.
Herhangi bir listedeki dizin ve değer çiftlerini almak için withIndex() çağrısını kullanın:
val colors = listOf("Red", "Green", "Blue")
for ((index, color) in colors.withIndex()) {
println("$index: $color")
}
// Çıktı:
// 0: Red
// 1: Green
// 2: BlueParantezlerin içindeki sözdizimine dikkat edin: (index, color). Buna, dizini ve değeri ayrı değişkenlere açan destructuring adı verilir. Bu değişkenleri kodunuz için anlamlı olan herhangi bir şekilde adlandırabilirsiniz.
Bu yaklaşım, bir sayaç değişkeniyle dizini manuel olarak takip etmekten daha temizdir. Özellikle numaralandırılmış listeleri görüntülemeniz veya konuma göre farklı işlemler gerçekleştirmeniz gerektiğinde kullanışlıdır:
val tasks = listOf("Wake up", "Exercise", "Eat breakfast")
for ((i, task) in tasks.withIndex()) {
println("Step ${i + 1}: $task")
}
// Çıktı:
// Adım 1: Wake up
// Adım 2: Exercise
// Adım 3: Eat breakfastGörev
OrtaGirdi olarak öğrenci adlarının bir listesini alacaksınız. Önce öğrenci sayısını, ardından her adı okuyun.
withIndex() kullanarak her öğrenciyi sıra numarasıyla (0'dan değil, 1'den başlayarak) yazdırın.
Girdi biçimi:
- İlk satır: öğrenci sayısını temsil eden bir tam sayı
n - Sonraki
nsatır: öğrenci adları (dizeler)
Çıktı biçimi:
Her öğrenciyi ayrı bir satırda aşağıdaki biçimde yazdırın:
Rank 1: Alice
Rank 2: Bob
Rank 3: CharliewithIndex() işlevinin 0'dan başlayan dizinler verdiğini unutmayın; bu nedenle 1'den başlayan sıra numaraları için ayarlama yapmanız gerekir.
Kendin dene
fun main() {
// Öğrenci sayısını oku
val n = readLine()!!.toInt()
// Öğrenci adlarını bir listeye oku
val students = mutableListOf<String>()
for (i in 1..n) {
students.add(readLine()!!)
}
// TODO: Kodunuzu aşağıya yazın
// withIndex() kullanarak öğrenciler üzerinde yineleyin ve sıralarını yazdırın
// Unutmayın: withIndex() indeksleri 0'dan başlatır, ancak sıralar 1'den başlamalıdır
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırımlı AtamaKarşılaştırma OperatörleriTekrar - Basit Matematik7Temel Girdi/Çıktı
Println FonksiyonuDize ŞablonlarıReadLine GirdisiTür DönüşümüTekrar - Emekliliğe Kalan YıllarTekrar - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriAdlandırılmış ArgümanlarVarsayılan DeğerlerTek İfadeli FonksiyonlarTekrar - Sigma FonksiyonuTekrar - Doğrulama Fonksiyonu13Diziler Üzerinde Yineleme
Ögeler Üzerinde YinelemeWithIndex MetoduDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P2Tekrar - İndeksli Harfler2Değişkenler
Val ve VarTür ÇıkarımıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3If İfadesiyle Üçlü OperatörTekrar - Basit Mantık8Hesap Paylaştırma Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma3Null Olabilirliği
Null Güvenliği NedirNull Olabilir TürlerGüvenli Çağrı OperatörüElvis OperatörüFonksiyon Görevi TemelleriNull Değil DoğrulamasıÖzet - Güvenli Erişim6Karar Verme
If İfadesiIf - Elseİfade Olarak IfWhen İfadesiAralıklarla WhenTekrar - Basit Hesap Makinesi9Döngüler
For DöngüsüWhile DöngüsüDo-While DöngüsüBreakContinueDöngülerde Aralıklarİç İçe DöngüTekrar - FaktöriyelTekrar - Dinamik GirdiKendi başına pratik yap: Kotlin playground