[Swift] 콜렉션 타입 Collection Types
최근 C언어 및 Dockfile을 자주 만지면서 swift 언어가 가물가물 해졌습니다.. ㅠ
알고리즘도 가끔 풀겸 !! 콜렉션 타입을 리마인드 해보겠습니다. ㅎ
배열 Array
1. 생성
- 빈배열 생성!!
배열 말고 다른 콜렉션 타입을 쓰는것을 까먹었다면 그냥 CollectionType<자료구조>() 해버리자.
- 초기화하면서 생성
일정 값으로 초기화 시켜주는 것이고 그냥 .. 값을 다 지정해줘도 된다. ex) var yeparkDoubles = [1.1, 1.2]
2. 추가
append를 써줄 수있고. 각각 만든 배열을 더해줄 수도 있다.!!
3. 제거
popLast() 마지막을 제거하고 그 값을 옵셔널로 반환
removeLast() 얘도 마지막을 제거하고 반환하는데 옵셔널 반환이 아니에요..!
removeFirst() 첫 인덱스를 제거하고 값을 반환함 (옵셔널 아님)
removeAll() 전체를 제거
remove(at) 그 인덱스만 제거
4. 재밌는 점
- enumerated
이렇게 뽑아 낼 수 있다.!! 인덱스와 그 안의 값들을!
추가 기능들!
dropFirst(갯수), dropLast(갯수), prefix(갯수), suffix(갯수) 각각 앞에서 뒤에서 수만큼 처리할 수있다. 오버로딩!
swapAt(INDEX1, INDEX2) 교환!
딕셔너리 Dictionary
1. 생성
2. 추가
배열과 다르게 append가 없고 그냥 Dictionary[KEY] = VALUE 하면 알아서 들어간다.
3. 제거
popFirst 얘는 popLast가 아니구 first가 있네요.. 옵셔널 값을 반환합니다.
removeAll 다 없애요!
removeValue(KEY) KEY값으로 없애요!
+ [KEY] = nil을 하면 제거된다.
4. 재밌는 점
키 값은 유일한 값이다. 중복된 키값은 없고 같은 키값을 접근 하면 덮어쓰기 된다.
셋 Set
1. 생성
2. 추가
insert로 추가 가능.!
3. 제거
popFirst 위와 같슴당.!
removeAll
removeFirst
removeLast
remove(at) 변수 이름으로 삭제 된다.!!
4. 재밌는 점
집합처럼 사용이 가능.! 교집합 차집합 등!
P.S.
Array는 순서 기반, Dictionary는 Key값 기반!
Set은 중복이 없는 유니크한 데이터를 사용할 때!
개인적으로 이거 있었지!!! 하는 부분을 신경 썼습니다. ㅎ ㅎ