Как получить элемент массива внутри Map?
Как получить элемент массива внутри Map?
var vegetables = mutableMapOf<String, IntArray>()
vegetables["apple"] = intArrayOf(0, 1, 2, 3)
Когда делаешь println, выдает адрес в памяти
println(vegetables["apple"])
Когда делаешь println таким образом, выдает нулевой символ, но не элемент:
println(vegetables["apple"].toString()[0])
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
В языке Kotlin метод [] это то же самое, что и метод get(). Почитайте подробнее про модификатор operator.
Таким образом, этот код:
vegetables["apple"][0]
Можно написать так:
vegetables.get("apple").get(0)
Проблема заключается лишь в том, что первый метод get возвращает нуллабельный тип, поэтому используйте оператор безопасного вызова ?., вместо обычной точки:
vegetables.get("apple")?.get(0)