Как получить элемент массива внутри 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)
→ Ссылка