Метод Contains
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 82 из 93.
Распространённая задача при работе со списками — проверить, существует ли определённый элемент в коллекции. Kotlin предоставляет для этой цели метод contains(), который возвращает true, если элемент найден, и false в противном случае.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseKotlin также предлагает более читаемую альтернативу с использованием оператора 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 особенно полезен в условных операторах, делая ваш код более выразительным и удобным для чтения, чем ручной перебор списка в поисках элемента.
Задание
СреднеВы получите список разрешённых имён пользователей и имя пользователя для проверки. Определите, существует ли это имя пользователя в разрешённом списке, используя оператор 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
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Продвинутые списки
Срезы списков с помощью SubListСрезы списков с помощью Take и DropОператоры последовательностейМетод ContainsПовторение — поиск страницы3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin