[Kotlin 깃북] Ch3 코틀린 사용을 위한 기본 문법
4. 배열과 컬렉션
배열(Array)
- 배열의 크기 정해놓고 사용해야 함
- 배열 공간의 개수 할당 or 초기화 시 데이터 저장
- 중간에 개수 추가/제거 불가능
var doubleArray = DoubleArray(10)
var floatArray = FloatArray(10)
var longArray = LongArray(10)
var intArray = IntArray(10)
var charArray = CharArray(10)
var doubleArray = doubleArrayOf(0.0,1.0,2.0,3.0,4.0,5.0)
var floatArray = floatArrayOf(0.0F,1.0F,2.0F,3.0F,4.0F,5.0F)
var longArray = longArrayOf(0L,1L,2L,3L,4L,5L)
var intArray = intArrayOf(0,1,2,3,4,5)
var charArray = charArrayOf('a','b','c','d','e')
- 배열에 값 입력하기
- 배열명[인덱스] = 값
- 배열명.set(인덱스, 값)
- 배열의 범위를 벗어난 인덱스 -> ArrayIndexOutOfBoundsException 발생
문자열 배열
- String은 기본 타입 X -> StringArray 타입 X
var stringArray = Array(10, {item -> ""})
var dayArray = arrayOf("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
컬렉션(Collection)
- 동적 배열 -> 배열과 달리 공간의 크기 고정X
(동적으로 컬렉션을 사용하기 위해서는, 자료햔 앞에 Mutable 접두어 필요)
- 컬렉션 값의 단위 = 엘리먼트(Element)
- ex. List의 엘리먼트 = List에 저장된 값
- ex. Map의 엘리먼트 = Map에 저장된 키-값 쌍
Mutable/Immutable
- Mutable: 변경 가능
- Immutable: 변경 불가능 (수정, 추가, 제거 불가능)
- Kotlin 컬렉션은 모두 Immutable로 설계됨
(ex. List, Map, Set)
- 동적 배열로 사용하기 위해서는, Mutable 타입 사용해야
(ex. MutableList, MutableMap, MutableSet)
컬렉션 - 리스트(List)
- 값 추가하기
- 값 수정하기
- MutableList명[인덱스] = 값
- MutableList명.set(인덱스,값)
- 값 사용하기
- MutableList명[인덱스]
- MutableList명.get(인덱스)
- 값 제거하기
- MutableList명.removeAt(인덱스)
빈 리스트 사용하기
- 아무것도 없는 빈 리스트 -> 데이터 타입 추론 불가능
- var MutableList명 = mutableListOf<컬렉션에 저장될 값의 타입>()
제네릭(Generic)
- 제네릭(<>): 시용하는 값의 타입을 지정하기 위한 도구
컬렉션 - 맵(Map)
- 값 추가하기/수정하기
- MutableMap명[키] = 값
- MutableMap명.put(키, 값)
- 값 사용하기
- MutableMap명[키]
- MutableMap명.get(키)
- 값 삭제하기
컬렉션 - 셋(Set)