[ios/swift]Collections(array,dictionary,set)

감자맨·2022년 7월 30일
0

swift

목록 보기
6/14
post-thumbnail

📒📕 📗📘📙📚📖 swift 문법을 공부하자!📒📕 📗📘📙📚📖

Array

배열 표현 방법

// 대괄호를 사용하여 배열임을 표현.
var names: Array<String> = ["yoojin", "Jenny", "Joker"]
// 위 선언과 정확히 동일한 표현. [String]은 Array<String>의 축약 표현.
var names: [String] = ["yoojin", "Jenny", "Joker"]
var emptyArray: [Any] = [Any]() // Any 데이터를 요소로 갖는 빈 배열을 생성.
var emptyArray: [Any] = Array<Any>() // 위 선언과 정확히 같은 동작을 하는 코드

// 배열의 타입을 정확히 명시해줬다면 []만으로도 빈 배열을 생성할 수 있다.
var emptyArray: [Any] = []
print(emptyArray.isEmpty) // true
print(names.count)  // 4

배열의 사용

var names: Array<String> = ["yoojin", "Jenny", "Joker"]
names.append("elsa") // ["yoojin", "Jenny", "Joker", "elsa"]
names.insert("happy", at: 2) // ["yoojin", "Jenny","happy", "Joker", "elsa"]
names.removeFirst() // ["Jenny","happy", "Joker", "elsa"]
names.removeLast() // ["Jenny","happy", "Joker"]
print(names.firstIndex(of: "yagom"))  // nil
print(names.firstIndex(of: "Jenny"))  // 0

Ditctionary

딕셔너리는 요소들이 순서 없이 키와 값의 쌍으로 구성되는 컬렉션 타입. 하나의 딕셔너리 안의 키는 같은 이름을 중복해서 사용할 수 없다.

// 키는 String, 값은 Int 타입인 빈 딕셔너리를 생성한다.
var numberForName: Dictionary<String, Int> = Dictionary<String, Int>()
// 위 선언과 같은 표현. [String: Int]는 Dictionary<String, Int>의 축약표현
var numberForName: [String: Int] = [String: Int]()
//위 코드와 같은 동작을 한다.
var numberForName: StringIntDictionary = StringIntDictionary()
// 딕셔너리의 키와 값 타입을 정확히 명시해줬다면 [:]만으로도 빈 딕셔너리를 생성할 수 있다.
var numberForName: [String: Int] = [:]
// 초깃값을 주어 생성해줄수도 있다.
var numberForName: [String: Int] = ["yagom":100. "yoojin":200, "Jenny":300]
print(numberForName.isEmpty) // false
print(numberForName.count)  //3

set

세트는 같은 타입의 데이터를 순서 없이 하나의 묶음으로 저장하는 형태의 컬렉션 타입이다. 세트 내의 값은 모두 유일한 값, 즉 중복된 값이 존재하지 않는다. 그래서 세트는 보통 순서가 중요하지 않거나 각 요소가 유일한 값이어야 하는 경우에 사용한다.

세트의 선언과 생성

var names: Set<String> = Set<String>() // 빈세트 생성
var names: Set<String> = []

//Array와 마찬가지로 대괄호를 사용한다.
var names: Set<String> = ["yagom", "yoojin", "jenny"]

세트의 사용

print(names.count)  // 3
print(names.remove("kai"))  // nil
profile
나는 코딩하는 감자다!

0개의 댓글