Swift) 집단 자료형(Collections)

Havi·2020년 11월 28일
0

Swift기초

목록 보기
4/19

Collection Type은 기본적으로 Cow(Copy on Write)방식으로 구현되어 있다.

CoW는 참조를 통해 불필요한 복사를 줄이고, 수정(modification)이 발생할 때만 복사를 하는 방식이다.

예를 들면, 100000개의 Element를 가지는 배열을 A와 그 배열을 복사한 B(Copy)가 있을때,
복사한 B배열은 실제 쓰기(on Write)가 일어나기 전까지 A배열과 같은 주소값을 가지고 있다가 쓰기가 일어나면 새로운 주소값을 할당받는다.

5.1 배열

같이 고민해보기
https://github.com/apple/swift/blob/main/docs/Arrays.rst

5.1.1 배열의 순회 탐색

이전 글 참조

5.1.2 배열의 동적 선언과 초기화

5.1.3 배열 아이템 동적 추가

appendremoveLast의 경우 stack, queue의 역할을 대체하므로 C배열과 같은 O(1)의 속도를 보장합니다.

동적 추가 시, 배열의 크기가 할당되어 메모리에 올라간 상태여야 합니다.

//ex)
let arr = [Int]()
arr.append(4) // error!

5.1.4 인덱스를 이용한 참조

5.1.5 배열의 정렬

5.2 집합(Set)

5.2.1 집합의 정의, 추가, 삭제

5.2.2 집합 기본 연산

5.2.3 부분 집합과 포함관계 판단

5.2.4 배열에서 중복 제거

5.3 튜플(tuple)

5.4 딕셔너리(Dictionary)

Dictionary의 구체적인 동작과정은 이글을 참조하세요.

5.4.1 딕셔너리의 초기화 및 값 추가

5.4.2 딕셔너리 정렬

5.4.3 딕셔너리의 기본값 설정 및 값 접근

참조

https://oaksong.github.io/2018/01/06/copy-on-write/
https://zeddios.tistory.com/116?category=685736
https://zeddios.tistory.com/114?category=685736

profile
iOS Developer

0개의 댓글