copy Of
Требования к платформе и версии: Common (2.2)
inline fun <T> Array<T>.copyOf(newSize: Int, init: (Int) -> T): Array<T>
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("foo", "bar", "baz")
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [foo, bar]
val paddedCopy = array.copyOf(5) { "qux" }
println(paddedCopy.contentToString()) // [foo, bar, baz, qux, qux]
//sampleEnd
}
inline fun ByteArray.copyOf(newSize: Int, init: (Int) -> Byte): ByteArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = byteArrayOf(1, 2, 3)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { -1 }
println(paddedCopy.contentToString()) // [1, 2, 3, -1, -1]
val paddedCopyWithIndex = array.copyOf(6) { it.toByte() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun ShortArray.copyOf(newSize: Int, init: (Int) -> Short): ShortArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = shortArrayOf(1, 2, 3)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { -1 }
println(paddedCopy.contentToString()) // [1, 2, 3, -1, -1]
val paddedCopyWithIndex = array.copyOf(6) { it.toShort() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun IntArray.copyOf(newSize: Int, init: (Int) -> Int): IntArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { -1 }
println(paddedCopy.contentToString()) // [1, 2, 3, -1, -1]
val paddedCopyWithIndex = array.copyOf(6) { it }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun LongArray.copyOf(newSize: Int, init: (Int) -> Long): LongArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = longArrayOf(1, 2, 3)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { -1 }
println(paddedCopy.contentToString()) // [1, 2, 3, -1, -1]
val paddedCopyWithIndex = array.copyOf(6) { it.toLong() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun FloatArray.copyOf(newSize: Int, init: (Int) -> Float): FloatArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = floatArrayOf(1.0f, 2.0f, 3.0f)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1.0, 2.0]
val paddedCopy = array.copyOf(5) { -1.0f }
println(paddedCopy.contentToString()) // [1.0, 2.0, 3.0, -1.0, -1.0]
//sampleEnd
}
inline fun DoubleArray.copyOf(newSize: Int, init: (Int) -> Double): DoubleArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = doubleArrayOf(1.0, 2.0, 3.0)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1.0, 2.0]
val paddedCopy = array.copyOf(5) { -1.0 }
println(paddedCopy.contentToString()) // [1.0, 2.0, 3.0, -1.0, -1.0]
//sampleEnd
}
inline fun BooleanArray.copyOf(newSize: Int, init: (Int) -> Boolean): BooleanArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = booleanArrayOf(true, false, true)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [true, false]
val paddedCopy = array.copyOf(5) { it % 2 == 0 }
println(paddedCopy.contentToString()) // [true, false, true, false, true]
//sampleEnd
}
inline fun CharArray.copyOf(newSize: Int, init: (Int) -> Char): CharArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = charArrayOf('a', 'b', 'c')
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [a, b]
val paddedCopy = array.copyOf(5) { '?' }
println(paddedCopy.contentToString()) // [a, b, c, ?, ?]
//sampleEnd
}
inline fun UIntArray.copyOf(): UIntArray
inline fun ULongArray.copyOf(): ULongArray
inline fun UByteArray.copyOf(): UByteArray
inline fun UShortArray.copyOf(): UShortArray
Возвращает новый массив — копию исходного массива.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
inline fun UIntArray.copyOf(newSize: Int): UIntArray
inline fun ULongArray.copyOf(newSize: Int): ULongArray
inline fun UByteArray.copyOf(newSize: Int): UByteArray
inline fun UShortArray.copyOf(newSize: Int): UShortArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.
inline fun UIntArray.copyOf(newSize: Int, init: (Int) -> UInt): UIntArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = uintArrayOf(1u, 2u, 3u)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { 0xffu }
println(paddedCopy.contentToString()) // [1, 2, 3, 255, 255]
val paddedCopyWithIndex = array.copyOf(6) { it.toUInt() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun ULongArray.copyOf(newSize: Int, init: (Int) -> ULong): ULongArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = ulongArrayOf(1u, 2u, 3u)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { 0xffu }
println(paddedCopy.contentToString()) // [1, 2, 3, 255, 255]
val paddedCopyWithIndex = array.copyOf(6) { it.toULong() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun UByteArray.copyOf(newSize: Int, init: (Int) -> UByte): UByteArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = ubyteArrayOf(1u, 2u, 3u)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { 0xffu }
println(paddedCopy.contentToString()) // [1, 2, 3, 255, 255]
val paddedCopyWithIndex = array.copyOf(6) { it.toUByte() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
inline fun UShortArray.copyOf(newSize: Int, init: (Int) -> UShort): UShortArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо дополняется в конце значениями, вычисленными при вызове указанной функции init.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями, вычисленными при вызове указанной функции init.
Функция init вызывается последовательно для каждого элемента массива в диапазоне, начинающемся с индекса, соответствующего размеру исходного массива, и заканчивающемся на newSize. Она должна возвращать значение элемента массива по его индексу.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = ushortArrayOf(1u, 2u, 3u)
val truncatedCopy = array.copyOf(2)
println(truncatedCopy.contentToString()) // [1, 2]
val paddedCopy = array.copyOf(5) { 0xffu }
println(paddedCopy.contentToString()) // [1, 2, 3, 255, 255]
val paddedCopyWithIndex = array.copyOf(6) { it.toUShort() }
println(paddedCopyWithIndex.contentToString()) // [1, 2, 3, 3, 4, 5]
//sampleEnd
}
expect fun <T> Array<T>.copyOf(): Array<T>
expect fun ByteArray.copyOf(): ByteArray
expect fun ShortArray.copyOf(): ShortArray
expect fun IntArray.copyOf(): IntArray
expect fun LongArray.copyOf(): LongArray
expect fun FloatArray.copyOf(): FloatArray
expect fun DoubleArray.copyOf(): DoubleArray
expect fun BooleanArray.copyOf(): BooleanArray
expect fun CharArray.copyOf(): CharArray
Возвращает новый массив — копию исходного массива.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
expect fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями null.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
null.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [apples, oranges, limes, null, null]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [apples, oranges]
//sampleEnd
}
expect fun ByteArray.copyOf(newSize: Int): ByteArray
expect fun ShortArray.copyOf(newSize: Int): ShortArray
expect fun IntArray.copyOf(newSize: Int): IntArray
expect fun LongArray.copyOf(newSize: Int): LongArray
expect fun FloatArray.copyOf(newSize: Int): FloatArray
expect fun DoubleArray.copyOf(newSize: Int): DoubleArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
expect fun BooleanArray.copyOf(newSize: Int): BooleanArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями false.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
false.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
expect fun CharArray.copyOf(newSize: Int): CharArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями нулевого символа (\u0000).
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями нулевого символа (
\u0000).
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
Требования к платформе и версии: JS (1.1)
inline fun <T> Array<out T>.copyOf(): Array<T>
actual inline fun ByteArray.copyOf(): ByteArray
actual inline fun ShortArray.copyOf(): ShortArray
actual inline fun IntArray.copyOf(): IntArray
actual fun LongArray.copyOf(): LongArray
actual inline fun FloatArray.copyOf(): FloatArray
actual inline fun DoubleArray.copyOf(): DoubleArray
actual fun BooleanArray.copyOf(): BooleanArray
actual fun CharArray.copyOf(): CharArray
Возвращает новый массив — копию исходного массива.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
fun <T> Array<out T>.copyOf(newSize: Int): Array<T?>
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями null.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
null.
actual fun ByteArray.copyOf(newSize: Int): ByteArray
actual fun ShortArray.copyOf(newSize: Int): ShortArray
actual fun IntArray.copyOf(newSize: Int): IntArray
actual fun LongArray.copyOf(newSize: Int): LongArray
actual fun FloatArray.copyOf(newSize: Int): FloatArray
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual fun BooleanArray.copyOf(newSize: Int): BooleanArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями false.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
false.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual fun CharArray.copyOf(newSize: Int): CharArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями нулевого символа (\u0000).
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями нулевого символа (
\u0000).
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
Требования к платформе и версии: JVM (1.0)
actual inline fun <T> Array<T>.copyOf(): Array<T>
actual inline fun ByteArray.copyOf(): ByteArray
actual inline fun ShortArray.copyOf(): ShortArray
actual inline fun IntArray.copyOf(): IntArray
actual inline fun LongArray.copyOf(): LongArray
actual inline fun FloatArray.copyOf(): FloatArray
actual inline fun DoubleArray.copyOf(): DoubleArray
actual inline fun BooleanArray.copyOf(): BooleanArray
actual inline fun CharArray.copyOf(): CharArray
Возвращает новый массив — копию исходного массива.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
actual inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями null.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
null.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [apples, oranges, limes, null, null]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [apples, oranges]
//sampleEnd
}
actual inline fun ByteArray.copyOf(newSize: Int): ByteArray
actual inline fun ShortArray.copyOf(newSize: Int): ShortArray
actual inline fun IntArray.copyOf(newSize: Int): IntArray
actual inline fun LongArray.copyOf(newSize: Int): LongArray
actual inline fun FloatArray.copyOf(newSize: Int): FloatArray
actual inline fun DoubleArray.copyOf(newSize: Int): DoubleArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual inline fun BooleanArray.copyOf(newSize: Int): BooleanArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями false.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
false.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual inline fun CharArray.copyOf(newSize: Int): CharArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями нулевого символа (\u0000).
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями нулевого символа (
\u0000).
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
Требования к платформе и версии: Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual fun <T> Array<T>.copyOf(): Array<T>
actual fun ByteArray.copyOf(): ByteArray
actual fun ShortArray.copyOf(): ShortArray
actual fun IntArray.copyOf(): IntArray
actual fun LongArray.copyOf(): LongArray
actual fun FloatArray.copyOf(): FloatArray
actual fun DoubleArray.copyOf(): DoubleArray
actual fun BooleanArray.copyOf(): BooleanArray
actual fun CharArray.copyOf(): CharArray
Возвращает новый массив — копию исходного массива.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
actual fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями null.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
null.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [apples, oranges, limes, null, null]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [apples, oranges]
//sampleEnd
}
actual fun ByteArray.copyOf(newSize: Int): ByteArray
actual fun ShortArray.copyOf(newSize: Int): ShortArray
actual fun IntArray.copyOf(newSize: Int): IntArray
actual fun LongArray.copyOf(newSize: Int): LongArray
actual fun FloatArray.copyOf(newSize: Int): FloatArray
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual fun BooleanArray.copyOf(newSize: Int): BooleanArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями false.
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями
false.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
actual fun CharArray.copyOf(newSize: Int): CharArray
Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце значениями нулевого символа (\u0000).
Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.
Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются значениями нулевого символа (
\u0000).
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2]
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/copy-of.html