티스토리 뷰

728x90

 


배열

• 특정 하나의 변수에 복수 개의 값을 할당하고 싶은 경우

• 배열은 저장할 수 있는 값의 개수를 정해놓아야 하고, 이 개수를 변경할 수 없다.

 

배열의 선언 방법

1. arrayOf<자료형/생략> (값1, 값2, ...)

• 자료형을 생략했을 경우 여러 자료형이 한 배열의 인자로 올 수 있다.

• non-null, nullable 모두 가능하다.

var array1 = arrayOf(true, "안녕하세요", 10, 2.2, null)

• 자료형을 적었을 경우, 해당 자료형만 인자로 들어올 수 있다.

var array2 = arrayOf<Int>(10, 20, 30)
var array3 = arrayOf<Int?>(1, null, 3)

• <자료형>을 대체하는 방법

var array4 = intArrayOf(1, 2, 3) // arrayOf<Int>(1, 2, 3) 대체
var array5 = booleanArrayOf(true, false) // arrayOf<Boolean>(true, false) 대체

 

2. 자료형/생략Array(크기, {초기값/생략})

• 자료형 생략

var array6 = Array(10, { "Hi" }) // 10칸짜리 배열을 만들고 기본값으로 "Hi"를 넣어준다.

• 자료형 명시

var array8 = IntArray(10, { 0 })
var array9 = BooleanArray(10, { false })
var array10 = StringArray(10, {"Hi"}) // 오류 발생 : StringArray는 존재하지 않는다, 원시 타입만 가능

 

3. Array<자료형/생략>(크기, {초기값/생략})

var array10 = Array(10, { 0 }) // 자료형을 생략했을 경우 디폴트 값의 자료형으로 정해진다.
var array11 = Array<Boolean>(10, { false })
var array12 = Array<String>(10, { "Hi" })

 

* 3번 방법이 일관적으로 코딩할 수 있어서 좋다.

 

배열에 값 넣기

• 배열명[인덱스] = 값

array12[3] = "Hello"

• 배열명.set(인덱스, 값)

array12.set(2, "Bye")

* 인덱스는 0부터 센다.

 

배열 안의 값 가져오기

• 배열명[인덱스]

val VALUE = array12[3] // Hello

• 배열명.get(인덱스)

val VALUE2 = array12.get(2) // Bye

• 인덱스에 초과하는 것을 가져오면 경고가 뜬다.

 

* 코틀린에서의 배열

• 코틀린에서는 배열의 사용 빈도가 많지 않다. 더 편한  컬렉션(Collection)이 있기 때문.

• 성능은 배열이 더 좋지만, 배열이나 컬렉션이나 둘 다 빠르기 때문에 더 편한 컬렉션을 사용한다.

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90
댓글
공지사항