본문 바로가기

Language/Kotlin

코틀린 리스트 (MutableList, List)

반응형

코틀린에서는 읽기 전용 변수(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)

 

반응형