728x90
반응형
안녕하세요 이번 글에서는 코틀린의 배열과 컬렉션의 사용방법을 알아보겠습니다.
1. Array
Array는 변수를 선언할 때 크기를 지정해주어야 하고 한번 정해진 크기는 변경할 수 없다는 특징을 가지고 있습니다.
var IntArray = IntArray(10)
var longArray = LongArray(10)
var DoubleArray = DoubleArray(10)
var CharArray = CharArray(10)
var StringArray = Array(10,{item->""})
위 코드처럼 선언 시 배열의 크기와 타입을 지정하여 줄 수 있습니다. 자바의 int [] intArray = new int [10]과 같다고 보시면 됩니다.
//배열 선언시 값을 할당하여 크기를 지정할수도 있습니다
var IntArray = arrayOf(1,2,3,4,5,6)
var StringArray = arrayOf("1","2","3","사","오")
//배열의 값을 변경하는 방법
IntArray[0] = 10
IntArray.set(0, 10)
//배열의 값을 꺼내는 방법
print(IntArray[1])
print(IntArray.get(0))
arrayOf를 사용하여 선언 시 대입하여 크기를 지정해줄 수도 있습니다.
코틀린에서는 크게 두 가지 컬렉션이 있습니다. 값과 크기의 변경이 가능한 Mutable 컬렉션, 변경이 불가능한 컬렉션입니다.
Mutable 컬렉션 같은 경우는 선언 시 자료형 압에 Mutable을 접두어로 선언하여 줍니다.
2. List
//비어있는 리스트를 만들기 위해서는 제네릭을 이용하여 타입을 선언할 수 있습니다.
var list = mutableListOf<Int>()
//선언시 배열과 같이 값을 바로 선언할 수 있습니다.
var list2 = mutableListOf("일","이","삼","사")
//add를 사용하여 값을 추가
list.add(1)
list2.add("오")
//set 또는 []를 이용여 수정이 가능합니다.
list.set(0,10)
list2.set(0,"열")
//removeAt을 이용하여 삭제가 가능합니다.
//삭제시 해당인덱스 번호의 값이 삭제되며 바로뒤에 있는 값이 그 자리로 들어옵니다.
list2.removeAt(1)
//size를 사용하여 크기를 가져올 수 있습니다.
list.size
3. Set
set 같은 경우는 List와 유사하지만 가장 큰 차이점은 중복을 허용하지 않고 인덱스로 조회할 수 없으며 get 함수도 지원하지 않습니다.
//비어있는 set을 선언할시 List와 동일합니다.
var set = mutableSetOf<String>()
//선언시 배열과 같이 값을 바로 선언할 수 있습니다.
var set2 = mutableSetOf("안","녕","하","세","요")
//add를 사용하여 값을 추가
set2.add("안") // <-- 중복되는 값이 존재하기 때문에 추가되지 않는다.
set2.add("Hi")
//set2.set() <-- set() 함수는 인덱스를 지원하지 않아 사용할 수 없습니다.
4. Map
map의 경우 키(key)와 값(value)이 한쌍으로 만들어진 것을 말합니다.
//비어있는 map 생성
var map = mutableMapOf<String,String>()
//Pair 함수를 사용하여 값을 바로 추가할 수 있습니다.
var map2 = mutableMapOf(Pair("이름","사과씨앗"),Pair("나이","안알랴줌"))
//put을 이용하여 값을 추가하거나 동일한 키가 있을시 수정합니다.
map2.put("직업","쪼렙 개발자")
//get함수에 키값을 이용하여 맵의값을 가져옵니다.
print("직업 : ${map2.get("직업")} 이름 : ${ map2.get("이름")}")
//remove를 사용하여 삭제합니다.
map2.remove("직업")
5. Immutable
이뮤터블 컬렉션 같은 경우는 컬렉션 선언 시 mutable을 제외하고 선언하면 됩니다.
이뮤터블은 값의 수정이나 컬렉션의 크기 수정이 불가능하기 때문에 변하지 않는 상수, 고정값 등을 사용할 때 쓰입니다.
오늘도 봐주셔서 감사합니다^^
728x90
반응형
'KOTLIN' 카테고리의 다른 글
코틀린(Kotlin) 함수 & 클래스 사용하기 (0) | 2020.12.27 |
---|---|
코틀린(Kotlin) 반복문 사용하기 (0) | 2020.12.27 |
코틀린(Kotlin) 조건문 if & when (0) | 2020.12.26 |
코틀린(Kotlin) 변수와 상수 (0) | 2020.12.21 |
코틀린(Kotlin) 로그(Log) 사용법 (0) | 2020.12.20 |