[arrays] Kotlin에서 값으로 배열을 초기화하는 방법은 무엇입니까?

Java에서는 다음과 같은 배열을 초기화 할 수 있습니다.

int numbers[] = new int[] {10, 20, 30, 40, 50}

코 틀린의 배열 초기화는 어떻게 생겼습니까?



답변

val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)

자세한 내용은 Kotlin-기본 유형 을 참조하십시오.

이니셜 라이저 함수를 두 번째 매개 변수로 제공 할 수도 있습니다.

val numbers = IntArray(5) { 10 * (it + 1) }
// [10, 20, 30, 40, 50]


답변

가치는 코 틀린의 builtines를 사용하는 경우 (예를 들어 있음을 언급 intArrayOf(), longArrayOf(), arrayOf(), 등) 당신은 클래스 생성자에 따라 호출을 통해 초기화 할 필요가 대신 주어진 크기에 대한 기본 값으로 배열 (또는 원하는 값으로 모든 값)을 초기화 할 수 없습니다 .

// Array of integers of a size of N
val arr = IntArray(N)

// Array of integers of a size of N initialized with a default value of 2
val arr = IntArray(N) { i -> 2 }


답변

예를 들면 다음과 같습니다.

fun main(args: Array<String>) {
    val arr = arrayOf(1, 2, 3);
    for (item in arr) {
        println(item);
    }
}

놀이터 를 사용하여 언어 기능을 테스트 할 수도 있습니다 .


답변

코 틀린에는 몇 가지 방법이 있습니다.

var arr = IntArray(size) // construct with only size

그런 다음 사용자 나 다른 컬렉션 또는 원하는 곳에서 초기 값을 얻을 수 있습니다.

var arr = IntArray(size){0}  // construct with size and fill array with 0
var arr = IntArray(size){it} // construct with size and fill with its index

내장 함수와 같은 배열을 만들 수도 있습니다.

var arr = intArrayOf(1, 2, 3, 4, 5) // create an array with 5 values

또 다른 방법

var arr = Array(size){0} // it will create an integer array
var arr = Array<String>(size){"$it"} // this will create array with "0", "1", "2" and so on.

당신은 또한 사용할 수 있습니다 doubleArrayOf()또는 DoubleArray()대신 지능의 원시 형 또는.


답변

코 틀린 우리가 사용하는 배열을 만들 수 있습니다 arrayOf(), intArrayOf(), charArrayOf(), booleanArrayOf(), longArrayOf()기능.

예를 들면 다음과 같습니다.

var Arr1 = arrayOf(1,10,4,6,15)  
var Arr2 = arrayOf<Int>(1,10,4,6,15)  
var Arr3 = arrayOf<String>("Surat","Mumbai","Rajkot")  
var Arr4 = arrayOf(1,10,4, "Ajay","Prakesh")  
var Arr5: IntArray = intArrayOf(5,10,15,20)  


답변

오래된 질문이지만 범위를 사용하려면 다음을 수행하십시오.

var numbers: IntArray = IntRange(10, 50).step(10).toList().toIntArray()

다음과 거의 같은 결과를 얻습니다.

var numbers = Array(5, { i -> i*10 + 10 })

결과 : 10, 20, 30, 40, 50

첫 번째 옵션은 좀 더 읽기 쉽다고 생각합니다. 둘 다 작동합니다.


답변

이 방법을 사용할 수 있습니다

var numbers=Array<Int>(size,init)
var numbers=IntArray(size,init)
var numbers= intArrayOf(1,2,3)

var numbers = Array<Int>(5, { i -> 0 })

init는 기본값을 나타냅니다 (initialize)