Menu
Coddy logo textTech

Map'leri Güncelleme

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

mutableMapOf, köşeli parantez atamasıyla girdilerin eklenmesine ve değiştirilmesine olanak tanır. remove(key), mevcutsa bir girdiyi siler. Bir val, değiştirilebilir bir haritaya başvurabilir: başvuru sabit kalırken içeriği değişir.

main içinde:

val counts = mutableMapOf("a" to 2)
counts["a"] = 5
counts["b"] = 3
println(counts.size)

a değerini güncellemek, değerini değiştirir; b eklemek ikinci anahtarı oluşturur.

Köşeli parantez ataması, eksik bir anahtar ekler veya mevcut bir anahtarın değerini değiştirir.

challenge icon

Görev

Orta

updatedStock işlevini stock: Map<String, Int>, key: String, amount: Int parametreleriyle tamamlayın. stock değerini değiştirilebilir bir eşlemeye kopyalayın, istenen anahtarı amount olarak ayarlayın ve yeni anahtar sayısını döndürü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.

Int 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 olacak şekilde okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir eşleme, ardından her anahtar ve değerin geldiği giriş sayısıyla başlar. İç içe listelerde her satır için sayı ve öğe biçimi tekrarlanır. 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 updatedStock(stock: Map<String, Int>, key: String, amount: Int): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val stockCount = readln().toInt()
    val stock = mutableMapOf<String, Int>()
    for (i0 in 0 until stockCount) {
        val stockKey = readln()
        val stockValue = readln().toInt()
        stock[stockKey] = stockValue
    }
    val key = readLine().orEmpty()
    val amount = readln().toInt()
    println(updatedStock(stock, key, amount))
}
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