티스토리 뷰
배열은 여러 개의 요소가 하나의 그룹에 들어있는 것을 의미합니다.
코틀린에서 배열을 사용할 때는 Int 타입만 명시가 가능하며, arrayOf<Int>( ) 이런식으로 사용합니다.
arrayOf( ):Int <- 이런식으로 Int 타입을 명시하지 않으니 주의하시기 바랍니다.
1. 타입을 명시하지 않고 배열 생성하기
var group = arrayOf(1, 2, 3, 4, 5)
arrayOf 메소드를 사용해서 배열을 만들 수 있는데, 타입을 명시하지 않는다고 해서 자동으로 타입을 인식하는 것은 아닙니다.
var group = arrayOf(1, 2.5, "Hi", 4, 5)
배열 요소에 string, float 등 기타 타입을 섞어서 배열을 만들 수 있으나 이는 추천하지 않습니다.
2. 타입을 명시하여 배열 생성하기
var group = arrayOf<Int>(1, 2, 3, 4, 5)
타입을 명시하는 경우, 꺽쇠 안에 Int 타입이라고 적을 수 있습니다. Int 타입만 가능한 것으로 알고 있습니다.
3. 여러가지 배열 메소드의 종류
Int만 타입으로 명시할 수 있다면, 다른 타입은 어떻게 처리할까요?
각 타입에 맞는 arrayOf가 준비되어 있습니다.
val a1 = intArrayOf(1, 2, 3)
val a2 = charArrayOf('b', 'c')
val a3 = doubleArrayOf(1.2, 100.555) //string은 쌍따옴표
val a4 = booleanArrayOf(true, false, true)
a1~a4 까지 Int, Char, Double, Boolean 타입의 arrayOf 메소드를 사용한 경우입니다.
4. 배열의 값을 꺼내는 방법
배열에서 값을 꺼낼 때는 두 가지 방법이 있는데, 하나는 get 메소드를 사용하는 것이고, 다른 한 가지는 인덱스를 바로 사용하는 것입니다.
예제를 살펴봅니다.
//배열의 값을 꺼내는 방법1. get 사용
//index란 0부터 순서대로 시작하는 배열의 값. [1,2,3]에서 1은 인덱스 0번째
val test = group1.get(0)
val test1 = group1.get(4)
println(test)
println(test1)
//배열의 값을 꺼내는 방법2. 인덱스 바로 사용
val test3 = group1[2]
println(test3)
* 만약 범위에 벗어나는 인덱스를 가져오면 ArrayIndexOutOfBoundsException 에러가 납니다.
5. 배열의 값을 바꾸는 방법
배열의 값을 바꾸는 방법 또한 두 가지가 있는데, 하나는 set 메소드를 사용하거나 인덱스에 다른 값을 바로 할당해주면 됩니다. set 메소드를 사용할때, 첫 번째 인자로는 바꾸려는 인덱스 번호와 두 번째 인자로는 바꾸려는 값을 넣어줍니다.
//배열의 값을 바꾸는 방법1
group1.set(0, 100)
println(group1[0])
//배열의 값을 바꾸는 방법2
group1[0] = 200
println(group1[0])
6. 람다를 사용하여 배열 만들기
람다를 활용하여 배열을 생성할 수 있습니다. 람다 사용 시 첫 번째 인자로는 배열의 사이즈가 나오며, 두 번째 인자로는 사이즈에 맞는 배열의 값을 넣게 됩니다.
배열의 값을 넣을 때는 중괄호를 사용하고, 콤마가 아닌 세미콜론으로 구분합니다.
var a5 = Array(10, {0}) //사이즈가 10인데 0하나면 적으면 모든 배열값이 0입니다.
var a6 = Array(5, {1;2;3;4;5})
'Kotlin' 카테고리의 다른 글
코틀린 반복문 Kotlin Iterators (0) | 2021.07.06 |
---|---|
코틀린 컬렉션 Kotlin Collections (0) | 2021.07.06 |
is, in 연산자 (0) | 2021.07.06 |
엘비스 연산자 Elvis Operator (0) | 2021.07.05 |
코틀린 제어문 2편 Control Flows (0) | 2021.07.05 |
- Total
- Today
- Yesterday
- lazy init
- findViewById
- notifyDataSetChanged
- 미제사건
- 대한민국 미제사건
- 인텐트
- 자바스크립트 배열
- ToDo List 앱 만들기
- 안드로이드 프로젝트
- 안드로이드 앱 만들기
- RecyclerView
- 메소드 오버라이딩
- Bmi Calculator
- view binding
- 리사이클러뷰
- bmi 계산기 만들기
- 2007년 사건사고
- 2021년 사건사고
- tabLayout
- 리스트뷰
- 애드뷰
- 상대적 레이아웃
- 뷰 바인딩
- 선형 레이아웃
- 2019년 사건사고
- android adapter
- 안드로이드 스튜디오 에러
- 탭레이아웃
- addView
- 안드로이드 어댑터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |