배열(Array): 하나의 변수에 여러 개의 정해진 값을 담을 수 있게 해주는 데이터 타입(배열은 변동이 없다)

var students = IntArray(10)
var longArray = LongArray(10)
var CharArray = CharArray(10)
var FloatArray = FloatArray(10)
var DoubleArray = DoubleArray(10)
기본 타입을 타입별로 10개의 빈 공간을 할당 하는 코드이다.
var dayArray = arrayOf("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN")
위와 같이 arrayOf를 활용하여 직접 배열을 생성할 수도 있다.
그리고 배열 값을 사용하려면
배열명[인덱스]
배열명.get(인덱스) - 이런식으로 코드를 작성하면 된다
Log.d("Array", "1번째 dayArray 값은 ${dayArray[0]}입니다")
Log.d("Array", "6번째 dayArray 값은 ${dayArray.get(5)}입니다")
이런식의 형태가 된다
컬렉션(Collection): 컬렉션은 동적배열로 배열과는 다르게 처음 크기로 고정하지않고 임의로 개수를 담을 수 있다. 컬렉션은 리스트(List), 셋(Set), 맵(Map)으로 나눌 수 있다.

컬렉션 리스트를 사용한 예제로
var mutableList = mutableListOf("MON", "TUE", "WED") 값으로 컬렉션을 생성하고
(여기서 mutableList는 동적배열로 사용하기위해 필요한 코드입니다.)
Log.d("Collection", "mutableList의 첫 번째 값은 ${mutableList.get(0)}입니다")
${mutableList.get(0)}에서 get을 통해 값을 가져올 수 있습니다.
첫번째 값을 꺼내오면 "MON"가 나오면서 로그캣에 mutableList의 첫 번째 값은 MON입니다
이와 같은 출력 내용이 나오게 됩니다.
만약 값을 추가하려면 mutableList.add("추가하고픈 내용") 이렇게 추가할 수 있습니다.

다음은 셋(Set)에 관한 내용입니다.
먼저 셋은 인덱스로 조회가 불가하고 get 함수도 지원 불가합니다.
중복이 불가하다는 특징이 있어서
var set = mutableSetOf()
셋을 생성하고
set.add("JAN")
set.add("FEB")
set.add("MAR")
set.add("JAN")
만약 동일한 값을 추가해도 출력되지 않습니다.
Log.d("Collection", "Set 전체출력 = ${set}")
전체 데이터를 출력하면
Set 전체출력 = [JAN, FEB, MAR]
이런 식으로 동일한 값 "JAN"은 출력이 안되는 걸 확인할 수 있습니다.

다음은 맵(Map)입니다.
맵은 (key, value) 이렇게 키와 값의 쌍으로 입력되는 컬렉션입니다.
var map = mutableMapOf<String, String>()
map.put("key1", "value1")
map.put("key2", "value2")
map.put("key3", "value3")
빈 맵을 생성하고 값을 추가하면 이런 식이 나옵니다.
만약 value1의 값을 value4로 수정하려면 map.put("key1", "value4") 이렇게 수정해주면 됩니다.
위 사진처럼 만약 map.remove("key2") "key2"를 삭제하고
Log.d("Collection", "key2의 값은 ${map.get("key2")}입니다.") 이라는 코드를 작성하면
null 이라는 값이 출력됩니다.
오늘은 컬렉션에서 리스트, 셋, 맵에 관하여 배워보았습니다.
var로 작성된 변수도 전부 뮤터블이라는 것도 알았습니다.
아직 헷갈리는 것도 많고 최대한 기억하면서 참고하여 작성해봤습니다!