Swift

Swift 4. Swift의 데이터 타입 고급(2) 배열, 딕셔너리

MiaCoder 2023. 6. 20. 14:26

애플이 제공하고, 가장 많이 이용하는  mac, ios에서 사용하는 프로그램, 앱을 만들기 위해서는

 

애플이 개발한 Swift언어를 알아야 합니다.

 

ios 앱 개발을 위해 기반 언어인 Swift의 기본 데이터 타입을 정리해 보겠습니다.

 

 

1. 컬렉션형 

 

Swift는 많은 수의 데이터를 묶어서 저장할 수 있는 컬렉션 타입을 제공합니다.

 

배열, 딕셔너리, 세트 등이 있습니다.

 

 

2. 배열

 

같은 타입의 데이터를 나열 한 후 순서대로 저장한 형태의 타입입니다.

 

let를 통한 상수, var을 통한 변수 모두 가능합니다

 

배열은 표현방법이 여러가지 입니다.

 

import UIKit

var names1: Array<String> = ["lee", "kim", "choei"]
var names2: [String] = ["lee", "kim", "choei"]
//Arrays를 사용하는 방법과 대확호를 사용하는 방법

var emptyArrays1: [Any] = [Any]()
var emptyArrays2: [Any] = Array<Any>()
var emotyArrays3: [Any] = []
//Any를 데이터요소로 사용하는 빈 배열을 생성하는 여러가지 방법

 

배열 추가, 삽입, 특정 자리 삽입, 제거

 

import UIKit

var names1: Array<String> = ["lee", "kim", "choei"]
var names2: [String] = ["lee", "kim", "choei"]
//Arrays를 사용하는 방법과 대확호를 사용하는 방법

var emptyArrays1: [Any] = [Any]()
var emptyArrays2: [Any] = Array<Any>()
var emotyArrays3: [Any] = []
//Any를 데이터요소로 사용하는 빈 배열을 생성하는 여러가지 방법

print(names1[1])
// 배열 순서대로 한 값을 출력하는 방법
names1.append("bang")
// 배열을 마지막에 값을 추가
names1.append(contentsOf: ["asd", "park"])
// 배열을 마지막에 여러개의 값을 추가하는 방법
names1.insert("rwe", at: 2)
// 2번쨰에 값을 추가
names1.insert(contentsOf: ["asd1", "sdas1"], at: 5)
// 5번쨰에 여러 값을 추가하는 방법

print(names1[1])
// 첫 번쨰 값을 출력
print(names1.firstIndex(of: "lee"))
// lee에 해당하는 인데스 번호를 출력
print(names1.first)
//첫 반째 안덱스 값을 출력
print(names1.last)
//마지막 인덱스 값을 출력

let first: Stirng = names1.removeFirst()
// names1에서 첫 번째 값을 뺀것을 지정
let last: String = names1.removeLast()
// names1에서 마지막 값을 뺸 것을 지정
let removwIndex: String = names1.remove(at: 2)
// 2번 쨰 인덱스를 제가한 것을 값으로 지정

 

 

3. 딕셔너리

 

딕셔너리는 값의 순서와 관계없이 키와 값의 쌍으로 구성되는 컬렉션 타입입니다.

 

항상 키와 값의 쌍을 이루게 되며 키가 하나 또는 그 이상일 수 있습니다.

 

하지만 하나의 딕셔너리에는 중복된 이름의 키를 사용할 수 없습니다.

 

var numberForName1: Dictionary<String, Int> = Dictionary<String, Int>()
var numberForName2: [String: Int] = [String: Int]()
var numberForName3: [String: Int] = [:]
// 키는 String, 값은 Int인 빈 딕셔너리 생성하는 여러가지 방법

var numberForNmae4: [String: Int] = ["lee": 100, "kim": 200, "park": 300]
//초기값을 설정하는 경우

print(numberForNmae4.isEmpty)
// 빈 값인지 확인하는 방법
print(numberForNmae4.count)
//값의 개수를 확인하는 방법

print(numberForNmae4["lee"])
// 100
numberForNmae4["lee"] = 150
// 값 변경
numberForNmae4["baek"] = 500
// 새로운 값 추가
print(numberForNmae4.removeValue(forKey: "lee"))
//lee에 헤당하는 값 삭제

print(numberForNmae4["lee", default: 0])
//해당값이 없는 경우 0을 디폴트로 출력

 

딕셔너리를 사용하는 다양항 방법