Нахождение пары в списке по заданному строковому ключу

Используйте firstOrNull с проверкой first у пары. Для данного списка результатом будет пара (sa, 4), а для отсутствующего ключа — null.

Короткий ответ

Что ответить на собеседовании

Используйте firstOrNull с проверкой first у пары. Для данного списка результатом будет пара (sa, 4), а для отсутствующего ключа — null.

Подробный разбор

Ответ с пояснениями

Условие

Нужно получить из списка, содержащего пары «строка‑число», элемент, у которого строковая часть равна "sa".

fun main() {
    val pairs = listOf("sm" to 1, "sn" to 2, "sb" to 3, "sa" to 4)
}

Ответ

Используйте firstOrNull с проверкой first у пары. Для данного списка результатом будет пара (sa, 4), а для отсутствующего ключа — null.

val found = pairs.firstOrNull { it.first == "sa" }
val number = found?.second

Поиск занимает O(n) и возвращает первое совпадение. Если запросов много и ключи уникальны, можно один раз построить map через toMap и искать по ключу. При повторяющихся ключах это изменит семантику: toMap оставит последнее значение, а firstOrNull выбирает первое.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее