본문 바로가기
Swift

[Swift] 컬렉션형

by Sky Titan 2020. 12. 20.
728x90
스위프트 프로그래밍
국내도서
저자 : 야곰
출판 : 한빛미디어 2019.10.01
상세보기

컬렉션형

  • 튜플을 제외한, 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 데이터 타입들
  • 배열, 딕셔너리, 세트

 

1. Array

  • 같은 타입의 데이터를 일렬로 나열한 후 순서대로 저장하는 타입
  • Arrray<타입> 혹은 [타입] 과 같은 형태로 선언한다.
  • 자바의 ArrayList 처럼 메서드를 통해서 동적으로 데이터를 append, remove하고 isEmpty나 count 등의 프로퍼티를 통해서 현재 배열의 크기를 파악하는 기능을 제공한다.
import UIKit
import Foundation

var array : [String] = ["Park", "Kim", "Lee", "Choi"]
array[2]//Lee

array.append("Jung")
array[4]//Jung

array.remove(at: 0)
array[0]//Kim

array.isEmpty//false
array.count//4

 

2. Dictionary

  • 데이터들을 순서 없이 키, 값의 쌍으로 보관하는 타입
  • 자료구조의 Map과 동일한 개념이다.
  • 키는 중복이 되어선 안된다.
  • Dictionary<키 타입, 값 타입> 혹은 [키 타입 : 값 타입] 의 형태로 선언한다.
import UIKit
import Foundation

var dictionary : Dictionary<String, Int> = ["Park" : 25, "Kim" : 23, "Lee" : 36]//선언 방법1
var dictionary2 : [String : Int] = ["Park" : 25, "Kim" : 23, "Lee" : 36]//선언 방법2

dictionary["Park"]//25
dictionary["Kim"] = 26//값 수정
dictionary["Choi"] = 55//추가 append
dictionary["Lee"] = nil //삭제

dictionary//["Kim": 26, "Park": 25, "Choi": 55]

 

3. Set

  • 같은 타입의 데이터를 순서없이 중복을 허용하지 않고 보관하는 타입이다.
  • 수학의 '집합' 개념과 동일하다.
  • Set<값 타입> 의 형태로 선언한다. (딕셔너리, 배열과 달리 대괄호를 이용한 축약형 선언이 불가능)
  • union, intersection 같은 메서드를 통해 집합 연산을 사용할 수 있다.
import UIKit
import Foundation

var set1 : Set<String> = ["Park", "Kim", "Lee"]
var set2 : Set<String> = ["Choi", "Jung", "Park"]

set1.contains("Park")//포함여부 확인 -> true
set1.isEmpty//false
set1.remove("Kim")//제거
set1//{"Park", "Lee"}

set1.intersection(set2)//교집합 연산 -> {"Park"}
set1.union(set2)//합집합 연산 -> {"Choi", "Park", "Lee", "Jung"}
728x90

'Swift' 카테고리의 다른 글

[Swift] Extension  (0) 2020.12.26
[Swift] 열거형 (Enumeration)  (0) 2020.12.20
[Swift] Tuple 튜플  (0) 2020.12.19
[Swift] 데이터 타입 고급  (0) 2020.12.19
[Swift] 문서화 주석  (0) 2020.12.19

댓글