Menu
Coddy logo textTech

Değerleri Filtreleme

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 32 / 63.

filter, bir yüklem lambda'sının true döndürdüğü öğeleri tutar. Öğelerin sırasını korur ve daha az öğe ya da hiç öğe döndürmeyebilir. filter işlevini map'ten önce zincirlemek yalnızca korunan değerleri değiştirir.

main içinde:

println(listOf(-2, 0, 3, 4).filter { it > 0 }.map { it * 2 })

Yalnızca üç ve dört koşulu geçer; bu değerler daha sonra ikiyle çarpılır.

filter, bir Boolean koşuluyla üyeliğe karar verir ve korunan sırayı muhafaza eder.

challenge icon

Görev

Orta

positiveValues işlevini values: List<Int> parametresiyle tamamlayın. Yalnızca kesinlikle pozitif değerleri, giriş sıralarını koruyarak döndürün. filter kullanın.

Yukarıda daha sıkı sınırlar belirtilmediği sürece, 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ığı üzere geçersiz veya aralık dışı gösterimler içerebilir.

List<Int> türünde bir değer döndürün. Sağlanan giriş/çıkış kodunu koruyun. Bu kod, skaler bağımsız değişkenleri satır başına bir tane okur; bir liste, sayısıyla ve ardından öğeleriyle başlar; bir eşleme ise giriş sayısıyla ve ardından her anahtar ve değerle 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.

GEREKLİ ÇIKTI BİÇİMİ: [Çevrilmiş içeriğiniz]

Kendin dene

fun positiveValues(values: List<Int>): List<Int> {
    // Çözümünüzü buraya yazın.
    return emptyList()
}
fun main() {
    val valuesCount = readln().toInt()
    val values = mutableListOf<Int>()
    for (i0 in 0 until valuesCount) {
        val valuesItem = readln().toInt()
        values.add(valuesItem)
    }
    println(positiveValues(values))
}
quiz iconKendini test et

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

Kendi başına pratik yap: Kotlin playground