안드로이드 <Kotlin>

[Kotlin] 코틀린 Array 자료형

TaeGyeong Lee 2023. 5. 28. 19:59

코틀린의 Array 자료형을 간단하게 알아보겠습니다.

 

Array 생성

여러 가지 방법으로 Array를 생성할 수 있습니다.

arrayOf()

자료형을 명시하지 않는 경우(Any), 자료형 구분없이 다양한 타입을 갖는 배열을 생성할 수 있습니다. 물론 좋은 방법은 아닌 것 같습니다.

val arrTmp = arrayOf<Any>(1, 2.200304, 3, "WTF", 5)

// 1 2.200304 3 WTF 5

 

arrayOfNulls()

원하는 원소의 갯수를 가지는, null로 모두 이루어진 배열을 생성합니다.

val arrTmp = arrayOfNulls<String>(5);

// null null null null null

 

Array()

배열을 생성할 때 가장 자주 사용하는 방법입니다. 파이썬처럼 내부 조건문을 활용해서 다양한 배열을 생성할 수 있습니다.

val arrTmp = Array<Int>(5) { i -> if (i%2 == 0) 0 else i};

// 0 1 0 3 0

 

Array 접근 및 수정

단순히 인덱싱 뿐만 아니라 코틀린에서는 접근 함수 get() 과 수정 함수 set()을 제공합니다. 아래 코드 예시입니다.

    var arrTmp = Array<Int>(5) { i -> i};
    arrTmp.forEach { print(it) }
    
    var arrTmpGet1: Int = arrTmp.get(1)
    print("\n" + arrTmpGet1 + "\n")
    
    var arrTmpSet1 = arrTmp.set(1, 6)
    arrTmp.forEach { print(it) }
    print("\n" + arrTmpSet1)
    
/* 
01234
1
06234
kotlin.Unit
*/

 

여기서 눈여겨 볼만한 점은 arrTmpSet1 은 Kotlin.Unit 을 반환한다는 점인데, 이에 대한 보다 자세한 글은 여기를 참고하면 됩니다.