티스토리 뷰
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
'📱 Android > 💻 Kotlin' 카테고리의 다른 글
[Android/Kotlin] 9. 이터러블(Iterable) (0) | 2022.10.06 |
---|---|
[Android/Kotlin] 8. 컬렉션(Collection) (0) | 2022.10.05 |
[Android/Kotlin] 6. 흐름 제어 (1) | 2022.10.04 |
[Android/Kotlin] 5. 함수 (0) | 2022.10.04 |
[Android/Kotlin] 4. 연산자 (1) | 2022.09.30 |
댓글
공지사항