Menu
Coddy logo textTech

マップの更新

CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 3/63。

mutableMapOfを使うと、ブラケット代入でエントリを追加したり置き換えたりできます。remove(key)は、エントリが存在する場合にそれを削除します。valは可変マップを参照できます。参照先は固定されたまま、内容が変化します。

mainの中で:

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

aを更新するとその値が変更され、bを追加すると2つ目のキーが導入されます。

ブラケット代入は、欠落しているキーを挿入するか、既存のキーの値を置き換えます。

challenge icon

チャレンジ

中級

パラメーター stock: Map<String, Int>、key: String、amount: Intを使用してupdatedStockを完成させてください。stockを可変マップにコピーし、指定されたキーにamountを設定して、新しいキー数を返します。

上記でより厳しい範囲が指定されていない限り、コレクションは各レベルで最大100個の要素を含み、整数引数および整数コレクション値は-1000から1000の間です。解析用に提供されるテキストには、説明にあるとおり、無効な表現や範囲外の表現が含まれる場合があります。

型Intの値を返してください。提供された入力/出力コードはそのまま使用してください。スカラー引数は1行に1つずつ読み取られます。リストは個数の後に要素が続き、マップはエントリ数の後に各キーと値が続きます。ネストされたリストでは、各行について個数と要素の形式を繰り返します。提供されたmainは、戻り値の後に改行を1つ出力します。リストにはKotlin標準の角括弧形式を使用し、追加のラベルは出力しないでください。

自分で試してみよう

fun updatedStock(stock: Map<String, Int>, key: String, amount: Int): Int {
    // ここに解答を書いてください。
    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 icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド