Array, Set, Dictionary의 차이점을 분명 알고 있긴 하지만, 누군가에게 설명하라고 했을 때 버벅거리게 되는 것 같습니다. 이는 개념을 더 명확히 인지해야 한다는 뜻이기도 하기에, 아주 간단히 컬렉션 타입을 살펴보고 한 문장으로 정리해 보겠습니다.
Array 배열
An ordered, random-access collection.
순서가 있고 무작위로 접근 가능한 컬렉션
- 0부터 자동으로 순서가 지정되는데 이를 인덱스라고 합니다.
- 순서가 있기 때문에 Array의 데이터는 중복이 가능합니다.
* 순서가 중요하거나 인덱스로 접근해야 할 때!
Set 집합
An unordered collection of unique elements.
순서가 없는 고유한 요소들의 컬렉션
- 중복이 불가능합니다.
- Hashable 프로토콜을 준수하는 타입으로 Set을 생성할 수 있습니다.
- 수학적 집합 연산을 제공합니다.(union, intersection, subtracting, symmetricDifference)
- 컬렉션의 순서가 중요하지 않고, 한 번만 나타나는지 확인해야 할 때 Array 대신 Set을 사용합니다.
* 중복된 데이터를 허용하지 않고 빠르게 포함 여부를 확인해야 할 때!
Dictionary 딕셔너리
A collection whose elements are key-value pairs.
키-값 쌍으로 구성된 컬렉션
- 해시 테이블의 한 유형입니다.
- 각 항목은 고유한 Key를 사용해 식별됩니다. (Value는 중복이 가능)
- key는 Hashable 프로토콜을 준수해야 합니다.
* Key를 기반으로 특정 값을 빠르게 찾을 때 + 데이터의 연관 관계를 표현할 때!
이 정도만 정리해도 우선은 충분할 것 같습니다! 😗
'iOS' 카테고리의 다른 글
캐플 리팩토링 세 번째 이야기 - 트러블 슈팅 (0) | 2025.02.07 |
---|---|
ScrollView 리프레쉬 했을 때 화면이 멈추는 현상 해결하기 (0) | 2025.02.07 |
캐플 리팩토링 두 번째 이야기 - 프로젝트 세팅하기 (0) | 2025.01.30 |
구조체로 싱글톤 만들기? (0) | 2025.01.30 |
캐플 리팩토링 첫 번째 이야기 - 방향성 설정하기 (0) | 2025.01.22 |