Sets
- Set은 같은 type의 중복되지 않은 값을 정렬되지 않은 상태로 저장한다.
- Set에 저장될 수 있는 type은 hash값을 가질 수 있는 타입이며, Swift의 기본 type들은 모두 hash 값을 가질 수 있다.
- 배열과 마찬가지로 이미 생성된 set을 비우더라도 초기화 시 지정된 type은 그대로 유지된다.
- 기본적으로 정렬되어있지 않으나 sorted() 함수를 이용하여 정렬할 수 있다.
- 두 set 간에 다음과 같은 연산 수행이 가능하다.
Dictionary
- 같은 type의 키들과 같은 type의 값들을 정렬되지 않은 상태로 저장한다.
- 키들은 고유한 값이어야 한다.
- 키는 hash값을 가질 수 있는 type이어야 한다.
- 배열이나 Set과 마찬가지로 특정 type의 key-value로 생성된 Dictionary는 그 값을 비우더라도 type은 유지된다.
- updateValue(_:forKey:) 함수는 만일 해당하는 키-값이 존재하면 해당 키의 값을 업데이트하고 존재하지 않으면 새로 키-값을 저장한다. 리턴 값은 해당 키의 이전 값이거나 해당 키가 없는 경우 nil을 반환하며 optional 값을 반환한다.
- for-in 루프에 사용할 경우 (키, 값)의 튜플을 리턴한다.