3.1 배열
- 여러 개의 값을 담을 수 있는 대표적인 자료형
- 값을 담기 전에 먼저 배열 공간의 개수를 할당하거나 초기화 시에 데이터를 저장해두면 데이터의 개수만큼 배열의 크기가 결정됨
- 먼저 개수를 정해놓고 사용해야 하며 중간에 개수를 추가하거나 제거할 수 없음
선언형태
var 변수 = Array(개수)
var students = IntArray(10)
var longArray = LongArray(10)
var CharArray = CharArray(10)
var FloatArray = FloatArray(10)
var DoubleArray = DoubleArray(10)
문자 배열에 빈 공간 할당하기
String은 기본 타입이 아니기 때문에 StringArray는 없지만 아래와 같이 사용 가능
var stringArray = Array(10, {item->""})
값으로 배열 공간 할당하기
var dayArray = arrayOf("MON","TUE","WED","THU","FRI","SAT","SUN")
println(dayArray[0]+"\n")
*** 출력결과 *** MON |
배열에 값 입력하기
배열명[인덱스] = 값
배열명.set(인덱스, 값)
students[0] = 90 // 배열명[인덱스] = 값
students.set(1,91) // 배열명.set(인덱스,값)
students.set(2,92)
students.set(3,93)
students.set(4,94)
students.set(5,95)
students.set(6,96)
students.set(7,97)
students.set(8,98)
students[9] = 99
println("students[0] : " + students[0])
println("students[1] : " + students[1])
println("students[2] : " + students[2])
println("students[3] : " + students[3])
println("students[4] : " + students[4])
println("students[5] : " + students[5])
println("students[6] : " + students[6])
println("students[7] : " + students[7])
println("students[8] : " + students[8])
println("students[9] : " + students[9]+"\n")
var dayArray = arrayOf("MON","TUE","WED","THU","FRI","SAT","SUN")
println(dayArray[0]+"\n")
*** 출력결과 *** students[0] : 90 students[1] : 91 students[2] : 92 students[3] : 93 students[4] : 94 students[5] : 95 students[6] : 96 students[7] : 97 students[8] : 98 students[9] : 99 |
배열에 있는 값 꺼내기
배열명[인덱스]
배열명.get(인덱스)
var seventhValue = students[6]
var tenthValue = students.get(9)
println("seventhValue : " + seventhValue)
println("tenthValue : " + tenthValue)
*** 출력결과 *** seventhValue : 96 tenthValue : 99 |
3.2 컬렉션
- 다른 이름으로 동적 배열이라 부름
- 배열과는 다르게 공간의 크기를 처음 크기로 고정하지 않고 임의의 개수를 담음
- 리스트(List), 맵(Map), 셋(Set)
리스트(List)
- 저장되는 데이터에 인덱스를 부여한 컬렉션
- 중복된 값 입력 가능
- 코틀린에서는 동적으로 리스트를 사용하기 위해서는 자료형 앞에 뮤터블(Mutable)이라는 접두어 필요
- mutableList, mutableMap, mutableSet
리스트 생성하기 : mutableListOf
var list = mutableListOf("MON","TUE","WED")
리스트 값 추가하기 : add
list.add("THU")
리스트에 입력된 값 사용하기 : get
var variable = list.get(1)
리스트값 수정하기 : set
list.set(1, "0") // mutableList.set(인덱스, 수정할값)
리스트에 입력된 값 제거하기 : removeAt
list.removeAt(0)
빈 리스트 사용하기
var 변수명 = mutableListOf<컬렉션에 입력될 값의 타입>()
var emptyList = mutableListOf<Int>()
var stringList = mutableListOf<String>()
// 생성
var stringList = mutableListOf<String() // 문자열로 된 빈 컬렉션을 생성
// 입력
stringList.add("월")
stringList.add("화")
// 사용
println("stringList에 입력된 두 번째 " + stringList.get(1) + "입니다.")
// 수정
stringLlist.set(1,"수정된 값")
// 삭제
stringList.removeAt(1) // 두번째 값이 삭제
*** 출력결과 *** stringList에 입력된 두 번째 화입니다. |
컬렉션 개수 가져오기 : size
mutableList.size
셋(Set)
- 중복을 허용하지 않는 리스트
- 인덱스로 조회할 수 없고, get 함수도 지원하지 않음
var set = mutableSetOf<String>();
빈 셋으로 초기화하고 값 입력하기
set.add("JAN")
set.add("FEB")
set.add("MAR")
set.add("JAN") // 동일한 값은 입력되지 않습니다.
셋 삭제하기
set.remove("FEB")
맵(Map)
- 키(Key)와 값(Value)이 쌍으로 입력되는 컬렉션
- 맵의 키는 리스트의 인덱스와 비슷한데 리스트와는 다르게 키를 직접 입력해야 함
var map = mutableMapOf<String, String>()
빈 맵으로 생성하고 값 추가하기
map.put("키1", "값1")
map.put("키2", "값2")
map.put("키2", "값3")
맵 수정하기
map.put("키2","수정")
맵 삭제하기
map.remove("키2")
3.3 이뮤터블 컬렉션
- 크기를 변경할 수 없으며 값 또한 변경할 수 없음
- 기준이 되는 어떤 값의 모음을 하나의 변수에 저장할 필요가 있거나 또는 여러 개의 값을 중간에 수정하지 않고 사용할 필요가 있을 때 사용
val IMMUTABLE_LIST = listOf("JAN","FEB","MAR") // 생성
println("리스트의 두 번째 값은 " + IMMUTABLE_LIST.get(1) + "입니다.") // 사용
*** 출력결과 *** 리스트의 두 번째 값은 FEB입니다. |
'프로그래밍 언어 > Kotlin 기초' 카테고리의 다른 글
[Kotlin공부]코틀린문법정리 : 06 클래스 (0) | 2021.03.03 |
---|---|
[Kotlin공부]코틀린문법정리 : 05 함수 (0) | 2021.03.01 |
[Kotlin공부]코틀린문법정리 : 04 반복문 (0) | 2021.02.08 |
[Kotlin공부]코틀린 문법 정리 : 02 조건문 (0) | 2021.02.03 |
[Kotlin공부]코틀린 문법 정리 : 01 변수 선언하기 (0) | 2020.12.17 |