Değerleri Gruplama
Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 38 / 63.
groupBy, anahtarları bir lambda tarafından üretilen ve değerleri eşleşen öğelerin listeleri olan bir map döndürür. Her grup, üyelerinin özgün sırasını korur. Eksik bir gruba erişmek, diğer map aramalarında olduğu gibi null verir.
main içinde:
val groups = listOf("a", "to", "b").groupBy { it.length }
println(groups[1])Bir karakter uzunluğundaki grup, a ve b öğelerini özgün sıralarında içerir.
groupBy, eşleşen her öğeyi hesaplanan anahtarı için bir listede depolar.
Görev
OrtawordsOfLength işlevini words: List<String>, length: Int parametreleriyle tamamlayın. Sözcükleri uzunluklarına göre gruplandırın, ardından istenen grubu özgün sırasıyla döndürün. Grup yoksa boş bir liste döndürün.
Yukarıda daha katı sınırlar belirtilmedikçe, koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenleri ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı gibi geçersiz veya aralık dışı gösterimler içerebilir.
List<String> türünde bir değer döndürün. Sağlanan girdi/çıktı kodunu koruyun. Bu kod, skaler bağımsız değişkenleri satır başına bir tane okuyacak şekilde çalışır; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir eşlem, ardından her anahtar ve değer gelen giriş sayısıyla başlar. İç içe listeler, her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir yeni satır yazdırır. Listeler, Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.
Kendin dene
fun wordsOfLength(words: List<String>, length: Int): List<String> {
// Çözümünüzü buraya yazın.
return emptyList()
}
fun main() {
val wordsCount = readln().toInt()
val words = mutableListOf<String>()
for (i0 in 0 until wordsCount) {
val wordsItem = readLine().orEmpty()
words.add(wordsItem)
}
val length = readln().toInt()
println(wordsOfLength(words, length))
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Map'ler Bölüm 1
Map'ler OluşturmaGüvenli Map AramalarıMap'leri GüncellemeAnahtarları Kontrol EtmeTekrar - Stok Masası4İç İçe Koleksiyonlar
Liste ListeleriSatırlarda GezinmeSatır Özetleriİç İçe Listeleri DüzleştirmeTekrar - Oturma Sıraları7Koleksiyon İşlem Hatları
Map ile DönüştürmeDeğerleri FiltrelemeKoleksiyon Kurallarını Test EtmeFold ile BiriktirmeTekrar - Onaylanan Toplamlar2Map'ler Bölüm 2
Map Girdileri Üzerinde YinelemeAnahtarlar ve DeğerlerFrekans Map'leriİç İçe Map'lerTekrar - Frekans Raporu5Proje - Kişi Defteri
Kişileri KaydetmeKişileri Bulma8Sıralama ve Gruplama
Bir Anahtara Göre SıralamaKarşılaştırmaları BirleştirmeDeğerleri GruplamaAnahtara Göre İlişkilendirmeÖzet - Uzunluk Sıralaması3Kümeler ve Üyelik
Kümeler OluşturmaKümeleri GüncellemeKüme İşlemleriAlt Küme KontrolleriÖzet - Etkinlik Konukları6Fonksiyon Değerleri
Lambda YazmaFonksiyon TürleriFonksiyonları GeçirmeYakalanan DeğişkenlerÖzet - Yapılandırılabilir PuanKendi başına pratik yap: Kotlin playground