Swift

KeyValuePairs

Phililip
728x90

안녕하세요.

 

이번엔 Swift의 Collection 중 하나인 KeyValuePairs에 대해 알아보려고 해요.

 


# KeyValuePairs

KeyValuePairs는 순서가 있는 key-value 쌍을 저장하는 collection 입니다.

 

순서가 있기 때문에 Dictionary보다 value를 찾는 속도가 느립니다.

 

또한 순서가 있기 때문에 Dictinary와는 다르게 element가 Hashable 프로토콜을 준수할 필요가 없습니다.

 

그리고 같은 키를 중복해서 저장할 수 있어요.

 

KeyValuePairs는 ExpressibleByDictionaryLiteral 프로토콜을 준수하기 때문에, dictionary literal을 사용해서 KeyValuePairs 인스턴스를 만들 수 있습니다.

 

 

특정 key에 매칭된 값을 찾으려면 firstIndex(where:) 함수를 사용해서 모든 element를 검사해야 합니다.

 

 

# KeyValuePairs 파라미터

인자로 전달할 때는 dictionary literal을 전달하면 자동으로 KeyValuePairs 인스턴스가 전달됩니다.

 

 

그러나 dictionary literal로 변수를 생성하고 그 변수를 인자로 넘기는 것은 안됩니다.

(변수는 이미 Dictionary 타입이 되었기 때문이에요.)

 

 

# KeyValuePairs와 Dictionary 차이점

  KeyValuePairs Dictionary
element 순서 있음 없음
key lookup 속도 느림 빠름
Hashable 프로토콜 준수할 필요 없음 준수해야 함
중복 키 가능 불가능

 

# 참고

 

KeyValuePairs | Apple Developer Documentation

A lightweight collection of key-value pairs.

developer.apple.com

 


이번 글은 여기서 마무리.

 

 

 

반응형

'Swift' 카테고리의 다른 글

propertyWrapper로 UserDefaults 관리  (0) 2024.05.11
@discardableResult  (0) 2024.01.28
Memory Safety  (1) 2024.01.25
클래스(class type) 생성자에 대해 알아보자  (0) 2024.01.21
구조체(value type) 생성자에 대해 알아보자  (0) 2024.01.17