스위프트 배열, 딕셔너리

강기환·2022년 11월 3일
post-thumbnail

1. 가변형 컬렉션, 불변형 컬렉션

가변형 컬렉션 : 컬렉션을 생성할 때 변수에 할당
불변형 컬렉션 : 컬렉션을 생성할 때 상수에 할당

2. 배열

2.1 배열 초기화하기

배열은 하나의 순서 있는 컬렉션에 여러 값을 담기 위하여 특별하게 설계된 데이터 타입이다.
배열의 타입은 타입 어노테이션을 사용하여 구체적으로 지정할 수도 있고, 타입 추론을 이용하여 컴파일러가 식별하게 할 수도 있다.
다음 구문을 이용하면 배열을 생성할 때 값들을 초기화할 수 있다. 이것을 배열 리터럴이라고 부른다.

var 변수명: [타입] = [값1, 값2, 값3, ....]

빈 배열 생성

var 변수명 = [타입]()

디폴트 값 설정

var nameArray = [String](repeating: "My String", count: 10)

"My String" 문자열로 배열의 각 항목이 초기화되어 10개의 항목을 가진 배열이 생성된다.

배열 합치기

let firstArray = ["Red", "Green", "Blue"]
let secondArray = ["Indigo", "Violet"]

let thirdArray = firstArray + secondArray

2.2 배열로 작업하기

배열의 항목들의 개수 구하기

var treeArray = ["Pine", "Oak", "Yew"]
var itemCount = treeArray.count

print(itemCount)

빈 배열 확인하기

var treeArray = ["Pine","Oak"]

if treeArray.isEmpty{
	print("배열이 비어있음")
}

배열 항목 접근하기(인덱스 사용)

var treeArray = ["Pine", "Oak", "Yew"]

print(treeArray[2])
treeArray[2] = "Redwood"

배열 항목 섞기, 무작위로 가져오기

let shuffledTrees = treeArray.shuffled()
let randomTree = treeArray.randomElement()

배열에 항목 추가하기

treeArray.append("Redwood")
treeArray += ["Redwood"]
treeArray += ["Redwood", "Maple", "Birch"]

항목 삽입 및 삭제하기

treeArray.insert("Maple", at: 0)
treeArray.remove(at: 2)
treeArray.removeLast()

배열 반복하기

for tree in treeArray{
	print(tree)
}

2.3 타입이 혼합된 배열 생성하기

let mixedArray: [Any] = ["A String", 432, 34.989]

Any 배열을 사용할 경우 타입 형 변환에 주의하여야 한다.

3. 딕셔너리

딕셔너리는 키-값 쌍의 형태로 데이터를 저장하고 관리할 수 있게 해준다. String, Int, Double, Bool 데이터 타입만 키로 사용할 수 있다.
키의 데이터 타입과 값 항목 타입은 타입 어노테이션을 이용하여 구체적으로 지정돠거나 타입 추론을 이용하여 컴파일러가 식별하게 한다.

var 변수명: [키 타입: 값 타입] = [키1: 값1, 키2: 값2, ....]

빈 딕셔너리 생성

var 변수명 = [키 타입: 값 타입]()

3.1 시퀀스 기반의 딕셔너리 초기화

let keys = ["100-432112", "200-532874", "202-546549", "104-109834"]
let values = ["Wind", "Tale", "Sense", "Shutter"]

let bookDict = Dictionary(uniqueKeysWithValues: zip(keys,values))
var bookDict = Dictionary(uniqueKeysWithValues: zip(1...,values)) //키 값 1부터 시작

3.2 딕셔너리 항목 개수

print(bookDict.count)

3.3 딕셔너리 항목 접근, 갱신하기

특정 값은 해당 키를 참조하기 위하여 키 첨자 구문을 이용하면 접근되거나 수정될 수 있다.
지정된 키에 해당하는 값이 없는 경우에 사용될 디폴트 값을 선언할 수 있다.

print(bookDict["200-532874"])

print(bookDict["999-546547", default: "Book not found"])

bookDict["200-532874"] = "Sense"
bookDict.updateValue("The Ruins", forkey: "200-532874")

3.4 딕셔너리 항목 추가, 제거하기

항목 추가하기

딕셔너리 변수[키] = 값

항목 제거하기

bookDict["300-898871"] = nil
bookDict.removeValue(forkey: "300-898871")

3.5 딕셔너리 반복

for (bookid, title) in bookDict {
	print("Book ID: \(bookid) Title: \(title)")
}
profile
백엔드개발자 꿈나무

0개의 댓글