- 여러 개의 값을 담을 수 있는 대표적인 자료형
- 값을 담기 전 배열의 개수를 할당 하거나 초기화 시 데이터를 저장하면 데이터 수 만큼 배열의 크기가 지정
- 중간에 개수를 추가하거나 제거 불가능
var 변수 = Array(개수)
//Int, Long, Char 등과 같은 기본 타입 뒤에 Array를 붙여 만듬
var intArry = IntArray(10) //int 형
var longArry = LongArray(10) //long 형
var charArry = CharArray(10) //char 형
var floatArry = FloatArray(10) //float 형
var doubleArry = DoubleArray(10) //double 형
- String은 기본형이 아니기 떄문에 StringArray가 존재하지 않음
var stringArry = Array(10, {item->""})
//10개의 index의 빈 문자열로 초기화
arrayOf 함수 사용
var myfriends = arrayOf("철수","영희","영수","영순","민수")
1. 배열명[인덱스] = 값
myfriends[0] = "광희"
2. 배열명.set(인덱스, 값)
myfriends.set(1,"희철")
1. 배열명[인덱스]
var bestFriend = myfriends[2] //bestFriend = 영수
2. 배열명.get(인덱스)
var girlFriend = myfriends.get(3) //girlFriend = 영순
- 동적 배열이라고도 불린다
- 배열과 다르게 처음 크기를 고정하지 않고 임의의 개수를 담을 수 있음
- 크게 리스트(List), 셋(Set), 맵(Map) 이 존재한다.
- 동적으로 사용하기 위해선 mutable 를 붙힌다
기본 컬렉션인 List, Map, Set 은 모두 한 번 입력된 값을 바꿀 수 없으므로 컬렉션의 용도인 동적 배열로 사용하기 위해선 mutable를 붙혀 사용한다.
- 저장되는 데이터에 인덱스를 부여한 컬렉션
- 중복된 값을 입력할 수 있다.
var friendsList = mutableListOf("철수","영희","민희")
friendsList.add("영순") //friendsList = "철수","영희","민희","영순"
friendsList.get(1) //영희
friendsList.set(0, "광희") //friendsList = "광희","영희","민희","영순"
friendsList.removeAt(0) //friendsList = "영희","민희","영순"
var 변수명 = mutableListOf<컬렉션에 입력될 값의 타입>()
var intList = mutableListOf<int>()
- 컬렉션이 사용하는 값의 타입을 지정하기 위한 도구 : <값의 타입>
- 코틀린에서 컬렉션은 제너릭을 사용하지 않으면 생성 불가능
- 단, 초기화할 떄는 값으로 타입을 추론하기 때문에 생략 가능
mutableList.size
- 중복을 허용하지 않는 리스트
- 인덱스 활용 불가능
var set = mutableSetOf<String>()
set.add("철수")
set.add("민희")
set.add("철수") //철수가 이미 입력되어 있기 때문에 입력 불가능
set.remove("철수")
- 키(key)와 값(value)의 쌍으로 입력되는 컬렉션
- 제네릭으로 키와 값의 데이터 타입을 지정해 맵을 생성
var map = mutableMapOf<String, String>()
map.put("키","값")
map.remove("키")
- 일반 배열처럼 크기를 변경할 수 없으며 값 또한 변경할 수 없다.
- 한 번 입력된 값을 변경할 수 없기 때문에 add, set 함수는 지원하지 않음
- 수정, 추가, 제거 모두 불가능
- 변수명은 대문자로 지정
val IMMUTABLE_LIST = listOf("철수","영희","민희")