copyOf

inline fun <T> Array<T>.copyOf(newSize: Int, init: (Int) -> T): Array<T>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array.

Since Kotlin

1.3

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes] 
   //sampleEnd
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.3

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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
}

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with values calculated by calling the specified init function.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with values calculated by calling the specified init function.

The function init is called sequentially for each array element in range starting from the index corresponding to the source array size until newSize. It should return the value for an array element given its index.

Since Kotlin

2.2

Samples

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>(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.0

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.0

Samples

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(source)
expect fun ShortArray.copyOf(newSize: Int): ShortArray(source)
expect fun IntArray.copyOf(newSize: Int): IntArray(source)
expect fun LongArray.copyOf(newSize: Int): LongArray(source)
expect fun FloatArray.copyOf(newSize: Int): FloatArray(source)
expect fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.0

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.0

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.0

Samples

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
}
inline fun <T> Array<out T>.copyOf(): Array<T>(source)
actual inline fun ByteArray.copyOf(): ByteArray(source)
actual inline fun ShortArray.copyOf(): ShortArray(source)
actual inline fun IntArray.copyOf(): IntArray(source)
actual inline fun FloatArray.copyOf(): FloatArray(source)
actual inline fun DoubleArray.copyOf(): DoubleArray(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.1

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.1

actual fun ByteArray.copyOf(newSize: Int): ByteArray(source)
actual fun ShortArray.copyOf(newSize: Int): ShortArray(source)
actual fun IntArray.copyOf(newSize: Int): IntArray(source)
actual fun LongArray.copyOf(newSize: Int): LongArray(source)
actual fun FloatArray.copyOf(newSize: Int): FloatArray(source)
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.1

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.1

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.1

Samples

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 <T> Array<T>.copyOf(): Array<T>(source)
actual inline fun ByteArray.copyOf(): ByteArray(source)
actual inline fun ShortArray.copyOf(): ShortArray(source)
actual inline fun IntArray.copyOf(): IntArray(source)
actual inline fun LongArray.copyOf(): LongArray(source)
actual inline fun FloatArray.copyOf(): FloatArray(source)
actual inline fun DoubleArray.copyOf(): DoubleArray(source)
actual inline fun BooleanArray.copyOf(): BooleanArray(source)
actual inline fun CharArray.copyOf(): CharArray(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.0

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.0

Samples

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(source)
actual inline fun ShortArray.copyOf(newSize: Int): ShortArray(source)
actual inline fun IntArray.copyOf(newSize: Int): IntArray(source)
actual inline fun LongArray.copyOf(newSize: Int): LongArray(source)
actual inline fun FloatArray.copyOf(newSize: Int): FloatArray(source)
actual inline fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.0

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.0

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.0

Samples

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 <T> Array<T>.copyOf(): Array<T>(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.3

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.3

Samples

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(source)
actual fun ShortArray.copyOf(newSize: Int): ShortArray(source)
actual fun IntArray.copyOf(newSize: Int): IntArray(source)
actual fun LongArray.copyOf(newSize: Int): LongArray(source)
actual fun FloatArray.copyOf(newSize: Int): FloatArray(source)
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.3

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.3

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.3

Samples

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 <T> Array<T>.copyOf(): Array<T>(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.8

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.8

Samples

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(source)
actual fun ShortArray.copyOf(newSize: Int): ShortArray(source)
actual fun IntArray.copyOf(newSize: Int): IntArray(source)
actual fun LongArray.copyOf(newSize: Int): LongArray(source)
actual fun FloatArray.copyOf(newSize: Int): FloatArray(source)
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.8

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.8

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.8

Samples

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 <T> Array<T>.copyOf(): Array<T>(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.8

Samples

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?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.8

Samples

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(source)
actual fun ShortArray.copyOf(newSize: Int): ShortArray(source)
actual fun IntArray.copyOf(newSize: Int): IntArray(source)
actual fun LongArray.copyOf(newSize: Int): LongArray(source)
actual fun FloatArray.copyOf(newSize: Int): FloatArray(source)
actual fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.8

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.8

Samples

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(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.8

Samples

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
}