💡 Kotlin

[Kotlin] 배열

콩드로이드 2022. 7. 2. 21:46

안녕하세요 😊

코틀린에서 배열을 생성하고 사용하는 방법에 대해 알아보고자 합니다 

포스팅에서는 Int형 배열을 생성하는 방법을 예로 들겠습니다 


일차원 배열 생성하기 

코틀린을 이용하여 다양한 방법으로 배열을 생성해보겠습니다

 

1.  arrayOf()

배열의 선언과 동시에 데이터를 넣는 방법으로,  자료형 선언 없이 ()안에 데이터를 넣어주면 됩니다 

Array<자료형> 형태로 생성됩니다 

val arr1 = arrayOf(1,2,3) // Array<Int>

 

 

2.  자료형ArrayOf()

배열의 선언과 동시에 데이터를 넣는 방법으로,  자료형ArrayOf()로 선언합니다 

IntArray 형태로 생성됩니다

val arr2 = intArrayOf(1,2,3) // IntArray

 

 

3.  arrayOfNulls<자료형>(배열 크기)

비어있는 배열을 먼저 만드는 방식으로 자료형과 배열의 크기만을 선언합니다

Array<Int?> 형태로 생성됩니다

val arr3 = arrayOfNulls<Int>(3) // Array<Int?>

 

 

4.  자료형Array(배열 크기)  or 자료형Array(배열 크기) {초기값}

자료형Array(배열 크기) 형태로 자료형과 배열 크기를 지정합니다.

필요에 따라 초기값도 지정할 수 있습니다

IntArray 형태로 생성됩니다

val arr4 = IntArray(3){1} // IntArray
val arr5 = IntArray(3) // IntArray

 

 

5.  Array<자료형>(배열 크기) {초기값}

Array<자료형>(배열 크기){초기값} 형태로, 배열 사이즈와 초기값을 지정합니다 

 Array<Int> 형태로 생성됩니다

 val arr6 = Array<Int>(3) { 1 } // Array<Int>

 

 

5가지 경우의 배열을 출력하면 아래와 같이 나타납니다 


Array<Int> , IntArray

출력한 배열의 형태는 2가지로 나눠지는데, 이 2가지의 차이를 알아볼까요 👀

2가지를 자바로 변환한다면 , 아래와 같습니다 

IntArray ▶️ int[]  // Primitive type

Array<Int> ▶️ Integer[] // Wrapper class 

즉, 원시타입과 Wrapper class인 차이가 있습니다 

 

Wrapper class 

📌 Primitive type을 객체화 시킨 것  (boxing이라고도 합니다)

int num = 9;
Integer num = new Integer(9);

 

* UnBoxing (Wrapper class를 Primitive type으로 변환하는 것)

Integer num = new Integer(9);
int prim = num.intValue();

 


2차원 배열 생성하기 

알고리즘을 공부하다 보면, 2차원 배열이 많이 사용됩니다

위에서 배열 생성하는 방법을 사용하면 되어서, 간단합니다 

예를 들어 아래와 같이 생성하면, 2행 3열의 2차원 배열이 생성됩니다! 

val arr = arrayOf(arrayOf(0,0,0), arrayOf(0,0,0))
val arr = Array(2) { Array(3){0} }

 

'💡 Kotlin' 카테고리의 다른 글

[Kotlin] Collection (List, Set, Map)  (0) 2023.01.03
[kotlin] Pair  (0) 2023.01.02
[Kotlin] apply, let, with, also, run 비교 (Scope Function)  (0) 2022.07.14
[Kotlin/Android] Room 사용하기  (0) 2022.06.30
[Kotlin] 동적 View 생성  (0) 2021.06.13