Kotlin массив В массиве? - PullRequest
0 голосов
/ 11 июля 2020

Я хочу создать массив в массиве и получить его по форме индекса в Kotlin.

, например, я создаю этот массив [(1, 12 (реальные данные - это Bitmap)), ( 2, 24 (то же самое)), (3, 36)]

, чтобы я мог получить array(index) = 12

как я могу создать эту форму массива и получать данные по индексу, как указано выше?

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Может быть Map - это то, что вам нужно:

val map = mapOf(1 to 12, 2 to 24, 3 to 36)
val twelve = map[1]

Это коллекция, которая содержит пары объектов (ключи и значения) и поддерживает эффективное извлечение значения, соответствующего каждому key.

Чтобы добавить данные на карту, мы можем использовать mutableMapOf функцию:

val map = mutableMapOf<Int, Bitmap>()
val bitmap: Bitmap = ...
map[4] = bitmap
0 голосов
/ 11 июля 2020

Если вам нужен просто массив байтов, используйте byteArrayOf:

val array = byteArrayOf(12, 24, 36)
println(array[0]) // 12

ByteArray эквивалентно Java s byte[].

Примечание: также есть intArrayOf, floatArrayOf, doubleArrayOf et c.

Поскольку вы также запросили массив в массиве:

val arrayOfArrays = arrayOf(byteArrayOf(1, 2, 3), byteArrayOf(24), byteArrayOf(36))
println(arrayOfArrays[0][1]) // 2

В этом случае тип arrayOfArrays будет Array<ByteArray>, и вам понадобится arrayOf, чтобы его построить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...