나미/안드로이드

코틀린으로 앱개발까지.. 5. 배열 (Array, List, Set, Map)

규남 2023. 10. 15. 17:12
반응형

정말 기초부터 혼자 공부하면서 같이 정리해나가는 정리노트

1. Array

  • 대표적인 배열 클래스
  • Array 배열의 경우 가변형 ( 즉, 데이터 수정 및 변경이 가능하다)
  • Array 구조는 -> Array<데이터타입>(크기, 초기값)의 형태를 가진다
  • 단 Array는 뒤에 나올 다른배열 타입과는 다르게 배열크기를 바꿀수 없다.
fun main()
{
   // 데이터 타입 : Int
   // 배열크기 : 3
   // 배열 초기값 : 0
   // set(인덱스, 변경할 값) : 인덱스 번째 값을 변경
   // get(인덱스) : 인덱스 번째 값을 가져옴

   var data1 : Array<Int> = Array(3,{0})
   data1[0] = 10
   data1[1] = 20
   data1.set(2, 30)

   println("""
      array size : ${data1.size}
      array data : ${data1[0]}, ${data1.get(1)}, ${data1.get(2)}
   """.trimIndent())
   
   // arrayOf : Array와 같지만 선언과 동시에 배열의 모든인자 값을 할당가능
   var data2 = arrayOf(10, 20, 30)
   data2.set(2, 40)
}

 

2. List, MutableList, Set, MutableSet

  • List : 순서가 있는 데이터 집합으로 데이터의 중복이 가능
  • Set : 순서가 없으며 데이터 중복 안됨
  • List, Set (공통) : 선언하여 생성한 이후에는 값을 추가 또는 변경이 불가능 (get, size만 가능)
  • MutableList, MutableSet (공통) : 값을 추가 또는 변경이 가능
fun main()
{
   // List
   var list = listOf<Int>(10, 20, 30)

   println("""
      array size : ${list.size}
      array data : ${list[0]}, ${list.get(1)}, ${list.get(2)}
   """.trimIndent())


   // MutableList
   var mutableList = mutableListOf<Int>(10, 20, 30)
   
   mutableList.add(3, 40)
   mutableList.set(0, 50)
   println("""
      array size : ${mutableList.size}
      array data : ${mutableList[0]}, ${mutableList.get(1)}, 
                   ${mutableList.get(2)}, ${mutableList.get(3)} 
   """.trimIndent())
}

 

3. Map, MutableMap

  • Map : 키와 값으로 이루어진 데이터 집합, 순서가 없음, 키값은 중복안됨
  • Map 역시 size, get만 허용하며 값을 변경 또는 추가 안됨
  • MutableMap : 값을 변경 또는 추가 가능 (put, remove)
fun main()
{
   // Map의 경우 한쌍으로 키와 값을 가진다
   // 키와 값을 넣는 방법 (pair, to)
   // pair (키, 값)
   // 키 to 값
   // get(키) 호출하면 짝지어진 값을 가져온다

   var map = mapOf<String, String>(Pair("one", "hello"), "two" to "world")
   println("""
      map size : ${map.size}
      map data : ${map.get("one")}, ${map.get("two")}
   """.trimIndent())
   println()



   // mutablemap : put(수정 또는 추가), remove(삭제)
   
   var mutableMap = mutableMapOf<String, String>(Pair("one", "hello"), "two" to "world")
   mutableMap["three"] = "aaa"
   mutableMap.put("four", "bbb")

   println("""
      map size : ${mutableMap.size}
      map data : ${mutableMap.get("one")}, ${mutableMap.get("two")}, 
                 ${mutableMap.get("three")}, ${mutableMap.get("four")} 
   """.trimIndent())
   println()

   mutableMap.remove("four")
   println(mutableMap)
}

 

728x90
반응형