list, set, map 차이

2023. 8. 4. 15:02- 안드로이드/kotlin

컬렉션 프레임워크를 사용하는 이유

기본 배열 array는 탐색과 접근이 용이하다는 장점이 있지만 크기를 미리 정해놓기 때문에 데이터를 추가 하거나 삭제하기에 어려움이 있습니다. 그렇기 때문에 추가 및 삭제가 용이한 컬렉션 프레임워크가 등장하였는데 컬렉션 프레임워크에는 list, set, map이 있습니다. 아래에서는 세종류의 컬렉션의 특징들을 정리해보겠습니다.

 

 


LIST

  1. 순서가 있고 중복을 허용합니다
  2. 인덱스로 원소에 접근이 가능합니다
  3. 크기가 가변적입니다
val list = mutableListOf<Int>()

    list.add(1)
    list.add(2)
    list.removeAt(1)

 

SET

  1. 데이터의 집합이며 순서가 없습니다
  2. 중복을 허용 하지 않습니다
  3. 검색 속도가 빠릅니다
val set = mutableSetOf<String>()

    set.add("Andy")
    set.add("Kush")
    set.contains("Andy")	// true 출력
    set.remove("Andy")

 

MAP

  1. key와 value로 이루어진 데이터의 집합 입니다
  2. key에 대한 중복이 없으며 순서를 보장하지 않습니다
  3. 속도가 빠릅니다
val map = mutableMapOf<String,Int>()
    
    map.set("a",1)
    map.set("b",2)
    map.containsKey("a")	// true 출력
    map.remove("a")