Menu
Coddy logo textTech

Метод Contains

Часть раздела Основы путешествия по Kotlin на Coddy. Урок 82 из 93.

Распространённая задача при работе со списками — проверить, существует ли определённый элемент в коллекции. Kotlin предоставляет для этой цели метод contains(), который возвращает true, если элемент найден, и false в противном случае.

val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana"))  // true
println(fruits.contains("Grape"))   // false

Kotlin также предлагает более читаемую альтернативу с использованием оператора in, который делает ровно то же самое:

val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers)   // true
println(10 in numbers)  // false

Вы также можете проверить, что элемент не входит в список, используя !in:

val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
    println("Yellow is not available")
}

Эти проверки также работают со строками, позволяя убедиться, существует ли символ или подстрока:

val word = "Kotlin"
println('K' in word)      // true
println("otl" in word)    // true

Оператор in особенно полезен в условных операторах, делая ваш код более выразительным и удобным для чтения, чем ручной перебор списка в поисках элемента.

challenge icon

Задание

Средне

Вы получите список разрешённых имён пользователей и имя пользователя для проверки. Определите, существует ли это имя пользователя в разрешённом списке, используя оператор in.

Если имя пользователя есть в списке, выведите Access granted. Если имени пользователя нет в списке, выведите Access denied.

Формат ввода:

  • Первая строка: целое число n, обозначающее количество разрешённых имён пользователей
  • Следующие n строк: строки, содержащие разрешённые имена пользователей
  • Последняя строка: имя пользователя для проверки

Формат вывода:

Выведите либо Access granted, либо Access denied в зависимости от того, существует ли имя пользователя в разрешённом списке.

Пример:

Если разрешённый список выглядит так: ["alice", "bob", "charlie"], а имя пользователя для проверки — bob, результатом должен быть:

Access granted

Если имя пользователя для проверки — david, результатом должен быть:

Access denied

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

fun main() {
    // Считать количество разрешённых имён пользователей
    val n = readLine()!!.toInt()
    
    // Считать разрешённые имена пользователей в список
    val allowedUsernames = mutableListOf<String>()
    for (i in 1..n) {
        allowedUsernames.add(readLine()!!)
    }
    
    // Считать имя пользователя для проверки
    val usernameToCheck = readLine()!!
    
    // TODO: Напишите ваш код ниже
    // Используйте оператор 'in' для проверки, существует ли usernameToCheck в allowedUsernames
    // Print "Access granted" if found, "Access denied" if not
    
}
quiz iconПроверьте себя

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

Все уроки раздела Основы

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