キーと値
CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 7/63。
keys は重複のないキーを提供し、values は繰り返される可能性のある値を提供します。安定したレポート順が必要な場合は、キーを変換またはソートします。ここでは、ソートされた文字列キーは、リストで学習した大文字と小文字を区別する順序を使用します。
main内:
val scores = mapOf("Bo" to 7, "Ada" to 7)
println(scores.keys.sorted())キーを並べ替えると、挿入順序に関係なく、AdaがBoより前になります。
予測可能なアルファベット順の出力が必要な場合は、キーを明示的に並べ替えます。
チャレンジ
中級パラメータ stock: Map<String, Int> を使用して sortedNames を完成させてください。マップのキーをソートされたリストとして返してください。すべてのキーは小文字の ASCII 単語です。
上記でより厳しい上限が示されていない限り、各レベルのコレクションには最大 100 個の要素が含まれ、整数引数および整数コレクション値は -1000 から 1000 の範囲です。解析対象として提供されるテキストには、説明どおり、無効または範囲外の表現が含まれる場合があります。
型 List<String> の値を返してください。提供されている入力/出力コードはそのまま使用してください。スカラー引数は 1 行に 1 つずつ読み込まれ、リストは要素数に続いて各要素が並び、マップはエントリ数に続いて各キーと値が並びます。ネストされたリストでは、各行について要素数と要素の形式が繰り返されます。提供されている main は、戻り値を出力した後に改行を 1 つ出力します。リストには Kotlin の標準的な角括弧形式が使用されます。追加のラベルは出力しないでください。
自分で試してみよう
fun sortedNames(stock: Map<String, Int>): List<String> {
// ここに解答を書いてください。
return emptyList()
}
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
}
println(sortedNames(stock))
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド