μλ νμΈμ~
μ€λμ 컬λ μ νμ μ λν΄μ μ 리νλ €κ³ ν©λλ€.
컬λ μ νμ μ λ°μ΄ν°λ₯Ό λͺ¨μΌκ³ , μ μ₯νκ³ , μ¬μ©νλ λ°©λ²μ μ μν μΆμν κ°λ μ λλ€.
Swiftμ 컬λ μ νμ μ Array, Set, Dictionaryλ‘ 3κ°μ§κ° μμ΅λλ€.
1. 컬λ μ νμ μ μ’ λ₯
(1) Array
Arrayλ λ°μ΄ν°κ° μμλ₯Ό κ°μ§κ³ μλ 리μ€νΈ ννμ 컬λ μ νμ μ λλ€. Arrayλ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ κ·Όν μ μμΌλ©°, μΈλ±μ€λ 0λΆν° μμν©λλ€. μλλ λ°°μ΄μ μμ±νκ³ , κ°μ μΆκ°νκ³ , μΈλ±μ€λ₯Ό μ¬μ©νμ¬ κ°μ μ½κ³ λ³κ²½νλ μμμ λλ€.
// λ°°μ΄ μμ±
var numbers = [1, 2, 3, 4, 5]
// λ°°μ΄μ κ°μ μΆκ°
numbers.append(6)
// λ°°μ΄ μΈλ±μ€ μ¬μ©νμ¬ κ° μ½κΈ°
let firstNumber = numbers[0]
// λ°°μ΄ μΈλ±μ€ μ¬μ©νμ¬ κ° λ³κ²½
numbers[1] = 10
(2) Set
Setμ λ°μ΄ν°μ μ§ν©μ λνλ λλ€. Setμ μμλ₯Ό κ°μ§μ§ μμΌλ©°, μ€λ³΅λ κ°μ νμ©νμ§ μμ΅λλ€.
μλλ Setμ μμ±νκ³ , κ°μ μΆκ°νκ³ , κ°μ μ κ±°νλ μμμ λλ€.
// Set μμ±
var fruits: Set<String> = ["apple", "banana", "orange"]
// Setμ κ°μ μΆκ°
fruits.insert("grape")
// Setμμ κ°μ μ κ±°
fruits.remove("banana")
(3) Dictionary
Dictionaryλ ν€-κ° μμ λνλ΄λ λ°μ΄ν° νμ μ λλ€.
κ°κ°μ ν€λ μ μΌνλ©°, ν€λ₯Ό μ¬μ©νμ¬ κ°μ μ κ·Όν μ μμ΅λλ€.
μλλ Dictionaryλ₯Ό μμ±νκ³ , κ°μ μΆκ°νκ³ , κ°μ μ κ±°νλ μμμ λλ€.
// Dictionary μμ±
var scores = ["μμ": 80, "μ² μ": 90, "λ―Έμ ": 70]
// Dictionaryμ κ°μ μΆκ°
scores["λꡬ"] = 95
// Dictionaryμμ κ°μ μ κ±°
scores.removeValue(forKey: "λꡬ")
Collection νλ‘ν μ½μ ꡬννλ νμ μ for-in 루νμ κ°μ μΌλ°μ μΈ μμ μ μννλ λ©μλλ₯Ό μ 곡ν©λλ€. μλ₯Ό λ€μ΄, Array, Set, Dictionaryλ Collection νλ‘ν μ½μ ꡬννλ νμ μ΄κΈ° λλ¬Έμ μ ν¬κ° μ μκ³ μλ filter, map, reduce, sorted, reversed λ±μ λ©μλλ₯Ό μ 곡νκ³ μμ΅λλ€.
let numbers = [1, 2, 3, 4, 5]
// μ§μλ§ νν°λ§
let evenNumbers = numbers.filter { $0 % 2 == 0 }
// μ κ³±μ ꡬν¨
let squares = numbers.map { $0 * $0 }
// ν©μ ꡬν¨
let sum = numbers.reduce(0, { $0 + $1 })
// μ λ ¬
let sortedNumbers = numbers.sorted()
// μμμΌλ‘
let reversedNumbers = numbers.reversed()
2. 컬λ μ νμ λΉκ΅νκΈ°
Swiftμ Collection νμ μΈ Array, Set, Dictionaryλ κ°κ°μ νΉμ§μ΄ μμ§λ§, 곡ν΅μ μΌλ‘ λͺ¨λ λ°μ΄ν°λ₯Ό μ μ₯νκ³ κ΄λ¦¬νλ λ° μ¬μ©λ©λλ€.
곡ν΅μ
μ¬λ¬ λ°μ΄ν°λ₯Ό νλλ‘ λ¬Άμ΄ μ€ μ μλ€λ μ κ³Ό λ°μ΄ν°λ₯Ό μΆκ°, μμ , μμ ν μ μλ€λ 곡ν΅μ μ΄ μμ΅λλ€.
λν, Collection νλ‘ν μ½μ μ€μνκΈ° λλ¬Έμ μμ μ€λͺ λλ Έλ μ¬λ¬ λ©μλλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό λ€λ£° μ μμ΅λλ€.
μ°¨μ΄μ
1. λ°μ΄ν° μ μ₯ λ°©μ
- Array: λ°μ΄ν°λ₯Ό μμλλ‘ μ μ₯νκ³ , μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ κ·Όν©λλ€.
- Set: λ°μ΄ν°λ₯Ό μ€λ³΅μμ΄ μ μ₯νκ³ , μμλ₯Ό μ μ§νμ§ μμ΅λλ€.
- Dictionary: ν€-κ° μμΌλ‘ λ°μ΄ν°λ₯Ό μ μ₯νκ³ , ν€λ₯Ό μ¬μ©νμ¬ κ°μ μ κ·Όν©λλ€.
2. μ€λ³΅ λ°μ΄ν° νμ© μ¬λΆ
- Array: μ€λ³΅ λ°μ΄ν°λ₯Ό νμ©ν©λλ€.
- Set: μ€λ³΅ λ°μ΄ν°λ₯Ό νμ©νμ§ μμ΅λλ€.
- Dictionary: μ€λ³΅λ ν€λ₯Ό νμ©νμ§ μμ΅λλ€.
3. μΈλ±μ€ μ κ·Ό λ°©λ²
- Array: μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ κ·Όν©λλ€.
- Set: μμλ₯Ό κ°μ§μ§ μμΌλ―λ‘, μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ§μ μ κ·Όν μλ μμ΅λλ€.
- Dictionary: ν€λ₯Ό μ¬μ©νμ¬ κ°μ μ κ·Όν©λλ€.
Setμ λ 컬λ μ νμ κ³Όλ λ€λ₯΄κ² μΈλ±μ€λ ν€κ°μΌλ‘ μ κ·Όν μκ° μμ΅λλ€.
κ·Έλμ containsλΌλ λ©μλλ₯Ό ν΅ν΄ μμμ μ‘΄μ¬ μ¬λΆλ₯Ό λ¨Όμ νμΈνκ³ νμΈλμμ κ²½μ°, λ°μ΄ν°λ₯Ό νμ©ν μ μμ΅λλ€.
var mySet: Set<String> = ["apple", "banana", "orange"]
// "apple"μ΄λΌλ λ°μ΄ν°κ° Setμ μ‘΄μ¬νλμ§ νμΈ
if mySet.contains("apple") {
print("Set contains apple")
// "apple"μ΄λΌλ λ°μ΄ν°λ₯Ό κ°μ Έμμ μ¬μ©
let apple = mySet.filter { $0 == "apple" }
print("Apple: \(apple)")
}
4. μ±λ₯
- Array: μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ κ·Όνλ―λ‘, μΈλ±μ€λ₯Ό μκ³ μμ κ²½μ° λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ°Ύμ μ μμ΅λλ€. νμ§λ§ λ°°μ΄μ μ€κ°μ μλ λ°μ΄ν°λ₯Ό μμ νκ±°λ μ½μ νλ κ²½μ°, λͺ¨λ λ°μ΄ν°λ₯Ό μ΄λν΄μΌ νλ―λ‘ μ±λ₯μ μν₯μ λ―ΈμΉ©λλ€.
- Set: λ°μ΄ν°μ μμκ° μμΌλ―λ‘, μΈλ±μ€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ²μνλ κ²μ λΆκ°λ₯ν©λλ€. νμ§λ§ μ€λ³΅ λ°μ΄ν°λ₯Ό νμ©νμ§ μμΌλ―λ‘, μ€λ³΅ κ²μ¬λ₯Ό ν νμκ° μμ΄μ κ²μ μλκ° λΉ λ¦ λλ€.
- Dictionary: ν€λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ μ κ·Όνλ―λ‘, ν€λ₯Ό μκ³ μμ κ²½μ° λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ°Ύμ μ μμ΅λλ€. νμ§λ§ λͺ¨λ ν€λ₯Ό κ²μνλ κ²½μ°, μνν΄μΌ νλ―λ‘ μ±λ₯μ μν₯μ λ―ΈμΉ©λλ€.
μ€λμ Collection νμ μ λν΄μ μ λ¦¬ν΄ λ΄€μ΅λλ€~
κ·ΈλΌ μ΄λ§ ππ» ππ» ππ»
'iOS > Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] Protocol(νλ‘ν μ½)μ λν΄μ (0) | 2023.04.02 |
---|---|
[Swift] Copy on write(COW)μ λν΄μ (0) | 2023.03.30 |
[Swift] Enum(μ΄κ±°ν)μ λν΄μ (0) | 2023.03.22 |
[Swift] μ΅μ λ(Optional)μ λν΄μ (0) | 2023.03.17 |
[Swift] μ κ·Όμ μ΄μ(Access Control)μ λν΄μ (0) | 2023.03.15 |