[iOS / Swift] 컬렉션 타입(Array, Dictionary, Set)
컬렉션 타입
: 데이터들을 한번에 관리할 수 있고 쉽게 사용할 수 있는 타입. 배열, 딕셔너리, 세트 등이 있음.
Array(배열)
: 같은 데이터 타입의 값들을 순서대로 저장하는 List라고 생각하면 됨.
배열에는 순서가 있는 상태로 저장이 되어 어떠한 요소에 접근하기 편함. 중복된 값을 허용함.
코드를 이렇게 작성해보니 .first, .last로 접근했을 때 오류가 발생
Optional(kim) 등등 Optional이라고 뜨는데 이건 다음에 다루겠음.
일단 보아하니 배열에 추가를 하게되면 해당 배열에서 가장 마지막에 추가가 되는 것을 알 수 있음.
딕셔너리
: 순서 없이 키(key)와 값(value)를 한 쌍으로 데이터를 저장하는 컬렉션 타입
이번에도 마찬가지로 옵셔널에서 오류가 발생은 했지만 다른 부분은 출력이 잘됐음.
근데 집합과는 다르게 새로 넣은 "choi"가 중간에 껴버렸음. 딕셔너리는 순서가 보장되지 않는 자료 구조이기 때문임.
딕셔너리에서 순서를 보장하려면 디겻너리 대신 배열이나 정렬된 형태의 자료구조를 사용하는 것이 필요함.
만약 키의 순서를 보장하고 싶으면 아래와 같이 변경하면 됨.
그러면 출력값이 아래처럼 key가 정렬되서 나옴
세트
: 같은 데이터 타입의 값들을 순서없이 저장하는 List. 순서가 없다는 점만 빼면 배열과 비슷한데, 세트는 순서가 없기 때문에 서로 같은 값들을 구분할 수 없기 때문에 중복된 값을 허용하지 않음.
.intersection -> 두 세트에 대해 교집합을 새로운 세트로 만들어줌
.subtracting -> 두 세트에 대해 차집합을 새로운 세트로 만들어줌
.union -> 두 세트에 대해 합집합을 새로운 세트로 만들어줌
맨 아래에 .insert는 요소 추가, .remove는 요소 삭제임.
'Swift 언어 > Swift 문법 정리' 카테고리의 다른 글
[iOS / Swift] 옵셔널(Optional) (3) | 2024.10.11 |
---|---|
[iOS / Swift] 함수(Function) (0) | 2024.10.11 |
[iOS / Swift] 반복문(for문, while문) (0) | 2024.09.30 |
[iOS / Swift] 조건문(if문, switch문, guard let) (0) | 2024.09.30 |
[iOS / Swift] 상수와 변수, 데이터 타입 (0) | 2024.09.30 |