Menu
Coddy logo textTech

Map ile Dönüştürme

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

map koleksiyon işlemi, her öğeye bir lambda uygular ve sonuçların aynı sırada yer aldığı yeni bir liste döndürür. Bu işlem, Map koleksiyon türünden farklıdır: değerleri dönüştürür ve lambda'nız çiftler döndürmediği sürece anahtar-değer girdileri oluşturmaz.

main içinde:

val lengths = listOf("sun", "rain").map { it.length }
println(lengths)

Her kelime, uzunluğuna dönüşür; sıralama ve öğe sayısı aynı kalır.

map, girişteki her öğe için sıralamayı koruyarak dönüştürülmüş bir sonuç döndürür.

challenge icon

Görev

Orta

values: List<Int> parametresine sahip squares işlevini tamamlayın. Girdideki her değerin karesini, giriş sırasını koruyarak döndürün. Değerler -1000 ile 1000 arasındadır. map 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ığı şekilde 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, önce eleman sayısını, ardından elemanlarını içerir ve bir map, önce giriş sayısını, ardından her anahtar ile değeri içerir. İç içe listeler, her satır için sayı ve elemanlar 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 squares(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(squares(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