배열은 순서를 갖고있다. 따라서 정수 인덱싱이 가능하다.
배열을 생성하는 방법은 총 3가지가 있다. arrayOf(), Array() + 람다식, 타입 + ArrayOf()
arrayOf()
var/val 배열명: Array<타입> = arrayOf<타입>("", "", "")
//타입은 생략가능
var/val 배열명 = arrayOf("", "", "")
실제 사용 예시는 아래와 같다.
fun main() {
val strArr = arrayOf("R", "G", "B")
strArr.forEachIndexed{ i, str -> print("strArr[$i] = $str, ")}
// strArr[0] = R, strArr[1] = G, strArr[2] = B,
}
Array() + 람다식
val/var 배열명: Array<타입> = Array(배열 크기) { 각 원소에 수행할 작업 }
실제 사용 예시를 살펴보자.
fun main() {
val strArr = Array(3) { i -> i.toString() }
println(strArr.contentToString()) // [0, 1, 2]
}
번외로 null 값을 요소의 값으로 가지게 만들 수도 있다.
fun main() {
val nullArr: Array<String?> = arrayOfNulls<String>(3)
println(nullArr.contentToString()) // [null, null, null]
}
타입 + ArrayOf()
이 방식은 ArrayOf로 배열을 만들지만 타입을 확정해서 만든다.
var/val 배열명: 타입Array = 타입ArrayOf("", "", "")
fun main() {
// [false, false, false]
val checked: Array<Boolean> = arrayOf(false, false, false)
val checked2 = Array(3) {false}
val checked3: BooleanArray = booleanArrayOf(false, false, false)
}
checked3가 타입 + ArrayOf()로 배열을 만드는 방식이다.
다른 배열 생성 방식과 다른 점은 타입을 확정적으로 사용해서 배열을 생성하기 때문에 타입명이 다르다.
int도 가능하나, Stirng은 불가능하다!!!
'2학년 2학기 > 모바일 소프트웨어 - 코틀린' 카테고리의 다른 글
it과 this (2) | 2024.10.12 |
---|---|
Array, Generic, Collection) Array(2) - 배열 관련 연산 (0) | 2024.10.11 |
Class(2) - 범위 함수 (0) | 2024.10.11 |
Class(2) - data class (0) | 2024.10.11 |
Class(2) - 클래스의 기본 메소드 정의 (0) | 2024.10.11 |