Menu
Coddy logo textTech

Проверка ключей

Часть раздела Логика и управление потоком путешествия по Kotlin на Coddy. Урок 4 из 63.

containsKey проверяет, присутствует ли ключ. containsValue вместо этого ищет значения. Проверка наличия с помощью key in map также проверяет ключи. Различайте эти вопросы, когда ключ и значение содержат одинаковый текст.

Внутри main:

val codes = mapOf("red" to "R")
println("R" in codes)

R — это значение, а не ключ. Единственный ключ — red.

Используйте containsKey или in для ключей; для значений используйте containsValue.

challenge icon

Задание

Средне

Завершите keyExists с параметрами stock: Map<String, Int>, key: String. Верните, присутствует ли ключ, в том числе когда его сохранённое значение равно нулю.

Если выше не указаны более строгие границы, коллекции содержат не более 100 элементов на каждом уровне, а целочисленные аргументы и целочисленные значения коллекций находятся в диапазоне от -1000 до 1000. Текст, предоставленный для разбора, может содержать недопустимые представления или представления, выходящие за допустимый диапазон, как описано.

Верните значение типа Boolean. Сохраните предоставленный код ввода/вывода. Он считывает скалярные аргументы по одному в строке; список начинается с его количества элементов, за которым следуют элементы, а map начинается с количества записей, за которым следуют каждые ключ и значение. Вложенные списки повторяют формат «количество и элементы» для каждой строки. Предоставленный main выводит возвращаемое значение, за которым следует один перевод строки. Списки используют стандартный формат Kotlin со скобками; не выводите дополнительные метки.

Попробуйте сами

fun keyExists(stock: Map<String, Int>, key: String): Boolean {
    // Напишите ваше решение здесь.
    return false
}
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()
    println(keyExists(stock, key))
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Kotlin