[Swift]Array, Dictionary, Set

한상욱·2024년 7월 23일

Swift문법

목록 보기
6/12
post-thumbnail

들어가며

이 글은 Swift 문법 정리글입니다.

컬렉션 타입

Swift에서는 Array, Dictionary, Set와 같은 타입은 컬렉션 타입이라고 부릅니다. 여러가지 데이터 타입을 묶어서 표현할 수 있는 타입이죠.

Array

순서가 있는 리스트 컬렉션입니다. 배열이라고 할 수 있습니다. 선언한번 해보겠습니다.

var someArray : Array<Int> = Array<Int>()
var someArray : [Int] = [Int]()

위 표현은 동일한 의미로 사용할 수 있습니다.

var someArray : [Int] = [1, 2, 3]
>> [1, 2, 3]
someArray.append(4)
>> [1, 2, 3, 4]

append 메소드를 이용하면 배열 뒤에 값을 삽입할 수 있습니다.

var someArray : [Int] = [1, 2, 3]
>> [1, 2, 3]
someArray.remove(at:0) // 인덱스로 삭제
someArray.removeFirst() // 첫번째 원소 삭제
someArray.removeLast() // 마지막 원소 삭제
someArray.removeAll() // 전체 삭제
>> [1, 2, 3, 4]

위 처럼 여러가지 방법으로 배열의 원소를 삭제할 수도 있습니다. 그 외에도 여러가지 메소드를 지원하고 있으니 공식문서를 한번 확인하는 것도 좋은 방법입니다.

Dictionary

Dictionary는 순서가 보장되지 않는 key-value 구조를 나타냅니다.

var someDict : Dictionary<String, Any> = Dictionary<String, Any>()
var someDict : [String:Any] = [String:Any]()

배열 처럼 위의 방식 모두 Dictionary 구조를 선언할 수 있습니다.

someDict["name"] = "HanSangWook"

위 처럼 키에 값을 할당하는 방식으로 값을 할당할 수 있습니다.

someDict.removeValue(forKey: "name")
someDict["name"] = nil

삭제를 하는 경우 removeValue 메소드를 사용하면 되나, nil을 할당하는 것으로 삭제를 할 수도 있습니다.

Set

순서를 보장하진 않지면 데이터 중복을 방지하기 위해서는 Set타입을 사용할 수 있습니다. Set 타입은 다른 컬렉션 타입과 다르게 축약 표현을 제공하지 않습니다.

var someSet : Set<Int> = Set<Int>() 

마찬가지로 Set도 원소를 추가하거나 삭제할 수 있습니다.

someSet.insert(100)

여기서, insert메소드는 추가하고자 하는 원소를 할당하면 됩니다. 다만, 주복된 요소는 삽입이 되지 않습니다.

someSet.remove(100)

마찬가지로 remove 메소드는 삭제하고자 하는 원소를 지정하면 됩니다.

profile
자기주도적, 지속 성장하는 모바일앱 개발자의 기록

0개의 댓글