Spec-Zone.ru › Kotlin 2

copyOf

kotlin-stdlib/kotlin.collections/copyOf

Требования к платформе и версии: Common (2.2)

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalStdlibApi
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
}

@ExperimentalUnsignedTypes
inline fun UIntArray.copyOf(): UIntArray
@ExperimentalUnsignedTypes
inline fun ULongArray.copyOf(): ULongArray
@ExperimentalUnsignedTypes
inline fun UByteArray.copyOf(): UByteArray
@ExperimentalUnsignedTypes
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
}

@ExperimentalUnsignedTypes
inline fun UIntArray.copyOf(newSize: Int): UIntArray
@ExperimentalUnsignedTypes
inline fun ULongArray.copyOf(newSize: Int): ULongArray
@ExperimentalUnsignedTypes
inline fun UByteArray.copyOf(newSize: Int): UByteArray
@ExperimentalUnsignedTypes
inline fun UShortArray.copyOf(newSize: Int): UShortArray

Возвращает новый массив — копию исходного массива, размер которого изменён на указанный newSize. Копия либо усекается, либо при необходимости дополняется в конце нулевыми значениями.

  • Если newSize меньше размера исходного массива, массив-копия усекается до размера newSize.

  • Если newSize больше размера исходного массива, дополнительные элементы массива-копии заполняются нулевыми значениями.


@ExperimentalStdlibApi
@ExperimentalUnsignedTypes
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
}

@ExperimentalStdlibApi
@ExperimentalUnsignedTypes
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
}

@ExperimentalStdlibApi
@ExperimentalUnsignedTypes
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
}

@ExperimentalStdlibApi
@ExperimentalUnsignedTypes
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API