반응형
코틀린에서는 읽기 전용 변수(val)와 수정할 수 있는 변수(var)처럼 리스트도 읽기 전용 리스트(list), 수정할 수 있는 리스트(mutable)이 있다.
읽기 전용 리스트는 말 그대로 리스트를 선언할 때 넣은 데이터들을 수정, 삭제, 변경할 수 없다는 의미이다. 따라서 데이터를 읽을 수는 있지만 add, remove 함수를 사용할 경우 컴파일에러가 발생한다.
var arrList = listOf("호호", "하하", "헤헤")
println(arrList[0]) // O
arrList.add("키키") // X 컴파일에러
arrList.remove(1) // X 컴파일에러
반대로 수정할 수 있는 리스트는 기존 자바에서 사용하던 ArrayList와 유사하므로 ArrayList의 함수들을 모두 사용할 수 있다.
var arrMutable = mutableListOf()
arrMutable.add("하하")//O
arrMutable.add("호호")//O
arrMutable.remove(0) //O
println(arrMutable[0])//호호 출력
또한 List를 MutableList로 변경, MutableList를 List로 변경할 수 있다.
var arrMutable = mutableListOf<String>() //수정 가능한 리스트
arrMutable.add("하하")
arrMutable.add("호호")
var arrNotMutable = arrMutable.toList() //mutable -> list 변경
println(arrNotMutable)
var arrReMutable = arrNotMutable.toMutableList() list -> mutable 변경
arrReMutable.add("호호")
println(arrReMutable)
반응형
'Language > Kotlin' 카테고리의 다른 글
코틀린 Data Class (0) | 2019.12.26 |
---|---|
코틀린 split 신기함 (0) | 2019.11.20 |
코틀린 표준함수(apply, let, run, with, also, takeIf) (0) | 2019.11.20 |
코틀린 Null (안전 호출 연산자, non-null 단언 연산자) (0) | 2019.11.14 |
코틀린의 특징 (0) | 2019.08.20 |