[SWIFT]Map

힐링힐링·2023년 10월 24일
0

SWIFT 문법

목록 보기
23/26

Map을 왜 사용하나?

  1. Map 사용법은 for-in 구분과 큰 차이가 없으나
    코드의 재사용 및 컴파일러 최적화 측면에서 Map이 유리함
  2. 다중 스레드 환경(동시성 프로그램)일 때 컨테이너의 값이 스레드에서 동시에 변경되는 부작용을 방지 하기 위함.

Map이란 ?

Swift에서 맵(Map)은 데이터를 저장하고 관리하는 데 사용되는 중요한 데이터 구조 중 하나입니다. 맵은 키-값 쌍을 사용하여 데이터를 저장하며, 각 키는 고유한다.
Swift에서 맵은 Dictionary 데이터 유형으로 구현 !

Map은 무엇을 할때 사용되나?

  1. 빠른 검색: 맵은 해시 테이블과 유사한 내부 구현을 사용하므로 데이터를 검색하는 데 매우 빠릅니다. 특정 키를 사용하여 값을 빠르게 찾을 수 있으므로 대용량 데이터 집합에서도 효율적으로 동작합니다.

  2. 고유한 키: 맵은 각 키를 고유하게 유지하므로 중복된 키를 허용하지 않습니다. 이는 데이터 일관성을 유지하고 데이터의 무결성을 보장하는 데 도움이 됩니다.

  3. 효율적인 데이터 관리: 맵을 사용하면 데이터를 쉽게 추가, 수정, 삭제 및 검색할 수 있으며, 이를 통해 데이터를 효율적으로 관리할 수 있습니다.

  4. 키-값 관계: 데이터를 키와 값의 쌍으로 저장하므로 맵은 특정 키를 사용하여 해당 키와 연결된 값을 검색하는 데 이상적입니다. 이는 데이터를 보다 의미 있게 구조화하는 데 도움이 됩니다.

Map 사용예시


func Ch09PlusFilterMapReduce(){
    let sayHello = {print("Hello")}
    sayHello()
    // for-in vs Map
    let numbers = [0,1,2,3,4]
    var dNumbers = [Int]()
    var strs = [String]()
    
    for num in numbers {
        dNumbers.append(num*2)
        strs.append("\(num*2)")
    }
    
    dNumbers = numbers.map({(num:Int) -> Int in
        return num * 2})
    
    //클로저 축약표현
    dNumbers = numbers.map({$0*2})
    dNumbers = numbers.map{$0*2}
    print(dNumbers)//[0, 2, 4, 6, 8]
    
    strs = numbers.map({return "\($0)"})
    strs = numbers.map({"\($0)"})
    print(strs) //["0", "1", "2", "3", "4"]
    //클로저 표현식의 반복
    let evenNumbers = [0,2,4,6,8]
    let oddNumbers = [0,1,3,5,7]
    let doubleNumber: (Int) -> Int = {$0*2}
    
    evenNumbers.map(doubleNumber)
    print(evenNumbers.map(doubleNumber))
    //[0, 4, 8, 12, 16]
    
}
profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글