/* * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package kotlin /** * Represents an array (specifically, a Java array when targeting the JVM platform). * Array instances can be created using the [arrayOf], [arrayOfNulls] and [emptyArray] * standard library functions. * See [Kotlin language documentation](https://kotlinlang.org/docs/reference/basic-types.html#arrays) * for more information on arrays. */ public class Array { /** * Creates a new array with the specified [size], where each element is calculated by calling the specified * [init] function. * * The function [init] is called for each array element sequentially starting from the first one. * It should return the value for an array element given its index. * * @throws RuntimeException if the specified [size] is negative. */ public inline constructor(size: Int, init: (Int) -> T) /** * Returns the array element at the specified [index]. This method can be called using the * index operator. * ``` * value = arr[index] * ``` * * If the [index] is out of bounds of this array, throws an [IndexOutOfBoundsException] except in Kotlin/JS * where the behavior is unspecified. */ public operator fun get(index: Int): T /** * Sets the array element at the specified [index] to the specified [value]. This method can * be called using the index operator. * ``` * arr[index] = value * ``` * * If the [index] is out of bounds of this array, throws an [IndexOutOfBoundsException] except in Kotlin/JS * where the behavior is unspecified. */ public operator fun set(index: Int, value: T): Unit /** * Returns the number of elements in the array. */ public val size: Int /** * Creates an [Iterator] for iterating over the elements of the array. */ public operator fun iterator(): Iterator }