낭만 프로그래머

Kotlin(코틀린) 배우기 - List, MutableList 본문

Kotlin

Kotlin(코틀린) 배우기 - List, MutableList

조영래 2021. 11. 2. 09:29
List, MutableList

1. 순서가 있는 Collection으로 List와 MutableList가 있다. 차이점은 List는 불변이고 MutableList는 가변이다.

2. get(), set() 함수를 사용하여 접근 또는 [index]를 사용하여 접근 할 수도 있다.

3. 참고 사항으로 val 변수에 객체를 할당되었을 경우 객체를 재할당하는 것은 되지 않지만 할당된 객체의 내용이 변경되는 것에는 문제가 없다. 즉 val data = mutableListOf<Int>(1,2,3) 으로 선언한 후에도 data.add(4)는 가능하며 data = mutableListOf<Int>(1,2,3,4)는 불가능 하다는 것이다.

val emptyListData: List<String> = emptyList<String>() //비어 있는 List 생성
val listData = listOf<Int>(1,2,3) // List 생성
listData.add(4) // 불변이기 때문에 오류

val mutableListData = mutableListOf<Int>(1,2,3) // MutableList 생성
mutableListData.add(4) // 정상

val convertMutableListData = listData.toMutableList() // List -> MutableList 로 변환된 새로운 Collection 생성


4. +, - 를 사용하여 특정요소를 추가 및 삭제된 새로운 Collection을 생성 할 수 있다. 즉 기존 Collection에 영향을 미치는 것이 아니라 새롭게 만들어 진다는 점에 유의하자

val countryList = listOf<String>("한국","미국","일본")
val minusCountryList = countryList - "일본" // "한국", "일본" 값의 List
val plusCountryList = countryList + "중국" // "한국","미국","일본","중국" 값의 List


5. 자주 사용하는 함수

newlistData.addAll(plusList) // List 합치기
val newlistData2 = plusList1 + plusList2 // + 기호로 합치기
val newListData3 = plusList1.plus(plusList2) // plus함수로 합치기
val newListData4 = plusList1.union(plusList2) // 중복제거 한 후 합치기



6. List API

7. Mutable API