- Array - ์์๊ฐ ์๋ ๋ฆฌ์คํธ ์ปฌ๋ ์
- Dictionary - 'ํค'์ '๊ฐ'์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์ปฌ๋ ์
- Set - ์์๊ฐ ์๊ณ , ๋ฉค๋ฒ๊ฐ ์ ์ผํ ์ปฌ๋ ์
- Array
- ๋ฉค๋ฒ๊ฐ ์์(์ธ๋ฑ์ค)๋ฅผ ๊ฐ์ง ๋ฆฌ์คํธ ํํ์ ์ปฌ๋ ์ ํ์
- ์ฌ๋ฌ๊ฐ์ง ๋ฆฌํฐ๋ด ๋ฌธ๋ฒ์ ํ์ฉํ ์ ์์ด ํํ ๋ฐฉ๋ฒ์ด ๋ค์ํฉ๋๋ค.
- Dictionary
- 'ํค'์ '๊ฐ'์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์ปฌ๋ ์ ํ์
- Array์ ๋น์ทํ๊ฒ ์ฌ๋ฌ๊ฐ์ง ๋ฆฌํฐ๋ด ๋ฌธ๋ฒ์ ํ์ฉํ ์ ์์ด ํํ ๋ฐฉ๋ฒ์ด ๋ค์ํฉ๋๋ค.
- Set
- ์ค๋ณต๋์ง ์๋ ๋ฉค๋ฒ๊ฐ ์์์์ด ์กด์ฌํ๋ ์ปฌ๋ ์
- Array, Dictionary์ ๋ค๋ฅด๊ฒ ์ถ์ฝํ์ด ์กด์ฌํ์ง ์์
import Swift
//MARK: - Array
// ๋น Int Array ์์ฑ
var integers: Array<Int> = Array<Int>()
integers.append(1)
integers.append(100)
//integers.append(101.1)
print(integers) // [1, 100]
print(integers.contains(100)) // true
print(integers.contains(99)) // false
integers.remove(at: 0)
integers.removeLast()
integers.removeAll()
print(integers.count) // 0
//integers[0] // ๋ฒ์ ์ด๊ณผ - ๋ฐํ์ ์ค๋ฅ ๋ฐ์
// Array<Double>์ [Double]๋ ๋์ผํ ํํ
// ๋น Double Array ์์ฑ
var doubles: Array<Double> = [Double]()
// ๋น String Array ์์ฑ
var strings: [String] = [String]()
// ๋น Character Array ์์ฑ
// []๋ ์๋ก์ด ๋น Array
var characters: [Character] = []
// let์ ์ฌ์ฉํ์ฌ Array๋ฅผ ์ ์ธํ๋ฉด ๋ถ๋ณ Array
let immutableArray = [1, 2, 3]
// ๋ถ๋ฉด Array์ ์์๋ ์ถ๊ฐ/์ญ์ ๋ถ๊ฐ - ์ปดํ์ผ ์ค๋ฅ ๋ฐ์
//immutableArray.append(4)
//immutableArray.removeAll()
//MARK: - Dictionary
// Key๊ฐ String ํ์
์ด๊ณ Value๊ฐ Any์ธ ๋น Dictionary ์์ฑ
var anyDictionary: Dictionary<String, Any> = [String: Any]()
anyDictionary["someKey"] = "value"
anyDictionary["anotherKey"] = 100
print(anyDictionary) // ["someKey": "value", "anotherKey": 100]
// Key์ ํด๋นํ๋ ๊ฐ ๋ณ๊ฒฝ
anyDictionary["someKey"] = "dictionary"
print(anyDictionary) // ["someKey": "dictionary", "anotherKey": 100]
// Key์ ํด๋นํ๋ ๊ฐ ์ ๊ฑฐ
anyDictionary.removeValue(forKey: "anotherKey")
anyDictionary["someKey"] = nil
print(anyDictionary) // [:]
// ๋น Dictionary ์์ฑ
let emptyDictionary: [String: String] = [:]
// ์ด๊ธฐ ๊ฐ์ ๊ฐ์ง๋ Dictionary ์์ฑ
let initalizedDictionary: [String: String] = ["name": "kdgt", "gender": "female"]
// let์ผ๋ก ์ ์ธํ ๋ถ๋ณ Dictionary๋ ์์ ๋ถ๊ฐ - ์ปดํ์ผ ์ค๋ฅ ๋ฐ์
//emptyDictionary["key"] = "value"
// name ํค์ ํด๋นํ๋ ๊ฐ์ด Dictionary์ ์กด์ฌํ์ง ์์ ์ ์์ผ๋ฏ๋ก
// ์ปดํ์ผ ์ค๋ฅ ๋ฐ์ - ์ต์
๋ ํํธ์์ ์์ธํ ๋ค๋ฃน๋๋ค/ name์ ๊ฐ์ด ์กด์ฌํ์ง ์์ ์๋ ์๋ค๋ ๋ถํ์ค์ฑ ๋๋ฌธ
//let someValue: String = initalizedDictionary["name"]
//MARK: - Set
// ๋น Int Set ์์ฑ
var integerSet: Set<Int> = Set<Int>()
integerSet.insert(1)
integerSet.insert(100)
integerSet.insert(99)
integerSet.insert(99)
integerSet.insert(99)
print(integerSet) // [100, 99, 1]
print(integerSet.contains(1)) // true
print(integerSet.contains(2)) // false
integerSet.remove(100)
integerSet.removeFirst()
print(integerSet.count) // 1
// Set๋ ์งํฉ ์ฐ์ฐ์ ๊ฝค ์ ์ฉํฉ๋๋ค
let setA: Set<Int> = [1, 2, 3, 4, 5]
let setB: Set<Int> = [3, 4, 5, 6, 7]
// ํฉ์งํฉ
let union: Set<Int> = setA.union(setB)
print(union) // [2, 4, 5, 6, 7, 3, 1]
// ํฉ์งํฉ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
let sortedUnion: [Int] = union.sorted()
print(sortedUnion) // [1, 2, 3, 4, 5, 6, 7]
// ๊ต์งํฉ
let intersection: Set<Int> = setA.intersection(setB)
print(intersection) // [5, 3, 4]
// ์ฐจ์งํฉ
let subtracting: Set<Int> = setA.subtracting(setB)
print(subtracting) // [2, 1]
์์ฃผ ์ฌ์ฉํ๋ ํ์ด์ฌ๊ณผ ๋ฌธ๋ฒ์ด ๋ง์ด ๋น์ทํ๋ค. ์ฒด๊ฐ์ผ๋ก๋ ์๋ฐ + ํ์ด์ฌ ์ ๋? ์ธ ๊ฒ ๊ฐ๋ค.