Kotlin предоставляет несколько способов инициализации массивов в зависимости от того, работаешь ли ты с примитивными типами или обычными объектами.
Для примитивных типов Kotlin предлагает специальные фабричные функции, которые избегают накладных расходов на boxing:
val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)
val zeros = IntArray(5) // creates [0, 0, 0, 0, 0]
intArrayOf(), doubleArrayOf(), booleanArrayOf() и т.д. для инициализации с известными значениямиIntArray(size) для создания массива, заполненного нулями, с фиксированным размеромДля объектов или смешанных типов используй фабричную функцию arrayOf():
val strings = arrayOf("a", "b", "c")
Array<T> и поддерживает любой тип объектовОба вида массивов поддерживают инициализацию через лямбду, что полезно для вычисляемых значений:
val squares = Array(5) { i -> i * i } // [0, 1, 4, 9, 16]
val evens = IntArray(5) { i -> i * 2 } // [0, 2, 4, 6, 8]
IntArray, DoubleArray и т.д.) для кода, критичного к производительностиarrayOf() для массивов объектов с заранее известными значениямиИспользование intArrayOf(1, 2, 3) предпочтительнее, чем arrayOf(1, 2, 3) для целочисленных массивов, потому что это избегает overhead от boxing'а и более эффективно по памяти.
Новый — ещё не проверен сообществом
Вы