안드로이드 네이티브 앱 개발 공부를 위해 Kotlin의 기본적이면서도 중요한 문법들을 정리해보았다. 이 글은 array와 list에 관련된 내용이다.
val array : Array<Int> = arrayOf(1, 2, 3)
var array2 : Array<Any> = arrayOf(1, 'a', 3.4f) //Array<Any>로 타입 추론 됨
array[0] = 4
val list1 : List<Int> = listOf(1, 2, 3)
var list2 : List<Any> = arrayOf(1, 'a', 3.4f) //List<Any>로 타입 추론 됨
list1[0] = 4 //오류가 발생한다.(수정 불가능)
var getResult = list1.get(0) // 리스트의 0번째 값을 가져옴
val arrayList : ArrayList<Int> = arrayListOf<Int>()
arrayList.add(1) // 인덱스를 지정하지 않으면 맨 뒤에 삽입
arrayList.add(0, 2) //0번째 인덱스에 2 삽입
arrayList.remove(1) // 앞에서 부터 1을 찾아 삭제
arrayList.removeAt(0) // 0번째 인덱스 값을 삭제
arrayList.removeLast() // 마지막 원소 삭제
arrayList.removeFirst() // 처음 원소 삭제
arrayList.clear() // 전체 원소 삭제
val a = mutableListOf<String>() //MutableList
val b = ArrayList<String>() //ArrayList
class ArrayList<E> : MutableList<E>, RandomAccess
명시적으로 처음부터 MutableList 중 특별히 ArrayList 를 원하는 경우에는 ArrayList 로 선언하고, List 이지만 수정, 삭제가 가능한 리스트를 사용할 경우에는 MutableList 로 선언하는 것이 좋다고 한다. 하지만 둘 다 ArrayList를 반환하기 때문에 어떤 것을 사용해도 크게 상관은 없다.
반복문을 정리하기 전에 반복문에서 배열과 관련된 내용이 꽤 나와서 일단 배열과 리스트를 먼저 정리했다. 이 내용을 토대로 다음에는 코틀린 반복문에 대해 작성할 예정이다. 코틀린 기본 문법 정리 세 번재인데 아직 많이 남았네...😭ㅠㅠ