Swift에서 맵(Map)은 데이터를 저장하고 관리하는 데 사용되는 중요한 데이터 구조 중 하나입니다. 맵은 키-값 쌍을 사용하여 데이터를 저장하며, 각 키는 고유한다.
Swift에서 맵은 Dictionary 데이터 유형으로 구현 !
빠른 검색: 맵은 해시 테이블과 유사한 내부 구현을 사용하므로 데이터를 검색하는 데 매우 빠릅니다. 특정 키를 사용하여 값을 빠르게 찾을 수 있으므로 대용량 데이터 집합에서도 효율적으로 동작합니다.
고유한 키: 맵은 각 키를 고유하게 유지하므로 중복된 키를 허용하지 않습니다. 이는 데이터 일관성을 유지하고 데이터의 무결성을 보장하는 데 도움이 됩니다.
효율적인 데이터 관리: 맵을 사용하면 데이터를 쉽게 추가, 수정, 삭제 및 검색할 수 있으며, 이를 통해 데이터를 효율적으로 관리할 수 있습니다.
키-값 관계: 데이터를 키와 값의 쌍으로 저장하므로 맵은 특정 키를 사용하여 해당 키와 연결된 값을 검색하는 데 이상적입니다. 이는 데이터를 보다 의미 있게 구조화하는 데 도움이 됩니다.
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]
}