[코틀린] MultipleArray
kotlin에서는 자바처럼 int[][] array = new int[5][5]형식으로 간단하게 만들 수 없고 상대적으로 어렵다(뭔가 보편적으론 코틀린이 더 간단한데)
우선 kotlin에서는 기본적으로 초기 값을 가지는 원하는 크기의 array는 다음과 같이 사용할 수 있다.(사실 이런 식으로 사용하는 것은 처음이다)
//Array(size: Int, init: (Int) -> T)
val array =Array(5, i -> i+2)
//[2,3,4,5,6]
그래서 Multiple Array는 다음과 같이 만들 수 있다
//2D
val array = Array(5, {Array(5,{i -> i * 2})})
/*
[{0,2,4,6,8},
{0,2,4,6,8},
{0,2,4,6,8},
{0,2,4,6,8},
{0,2,4,6,8}]
*/
를 좀 더 코틀린스럽게 바꾸면
val array = Array(5){Array(5){i -> i * 2}}
로 코드가 조금 더 깔끔해졌다.
Array (in kotlin)
코틀린에서 정의된 Array는 다음과 같다
/**
* 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](http://kotlinlang.org/docs/reference/basic-types.html#arrays)
* for more information on arrays.
*/
public class Array<T> {
/**
* Creates a new array with the specified [size], where each element is calculated by calling the specified
* [init] function. The [init] function returns an array element given its index.
*/
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]
* ```
*/
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
* ```
*/
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<T>
}