Используйте 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 выбирает первое.