Focus On Develop 🀟🀟

[Swift] Set λ³Έλ¬Έ

iOS [Swift]/기초λ₯Ό νƒ„νƒ„νžˆ!

[Swift] Set

λˆ„λ¦¬λ‹¬μ΄ν‹€ 2020. 12. 15. 23:14

μƒμ„Έλ‚΄μš© : Set | Apple Document

 

κ·Έλ ‡λ‹€κ³  ν•œλ‹€.. Apple Developer DocumenetλŠ” μ½λŠ” μŠ΅κ΄€μ„ λ“€μ΄λŠ”κ²Œ μ€‘μš”ν•˜κΈ΄ ν•˜μ§€λ§Œ μ—­μ‹œ μ˜μ–΄λŠ” μ–΄λ ΅λ‹€ γ…‹γ…‹

μ˜€λŠ˜λ„ λ‚˜λ¦„λŒ€λ‘œ μ•Œμ•„λ³Ό 수 μžˆλŠ” λ‚˜μ˜ μ–Έμ–΄λ‘œ 정리해둬야겠닀.

 

Set(집합)은 Hashable νƒ€μž…μ„ λ‹΄λŠ” Collection 자료ꡬ쑰 쀑 ν•˜λ‚˜λ‘œ, μ‹€μ œ μˆ˜ν•™μ—μ„œμ˜ 집합과 λΉ„μŠ·ν•œ νŠΉμ§•μ„ κ°–λŠ”λ‹€.

"μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•Šκ³ , 쀑볡값을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”, Type이 같은 λ°μ΄ν„°λ“€μ˜ λͺ¨μž„"

 

그럼 Set을 μ–΄λ–»κ²Œ μ“°λŠ”μ§€ 보자.

 

 

1. Set 생성

var mySet = Set<String>()
var mySet2: Set<String> = []

2. Set에 데이터 μ‚½μž…, μ‚­μ œ

var mySet: Set = ["my", "name", "is", "kt"] // Type을 Set으둜 μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ Arrayκ°€ λœλ‹€.
mySet.insert("thanks") // ["my", "name", "thanks", "is", "kt"] - μˆœμ„œλŠ” 보μž₯ν•˜μ§€ μ•ŠμœΌλ©°
mySet.insert("my") // ["my", "name", "thanks", "is", "kt"] - 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
mySet.remove("thanks") // ["kt", "my", "is", "name"]

3. Setμ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯λ“€

mySet.contains("kt") // true
mySet.isEmpty // false
mySet.count // 4

 

4. Setμ—μ„œλ§Œ μ‚¬μš©κ°€λŠ₯ν•œ κΈ°λŠ₯λ“€ (μ§‘ν•©μ΄λΌμ„œ μžˆλŠ” κΈ°λŠ₯λ“€? μ •λ„λ‘œ ν•΄μ„ν•˜λ©΄ λ˜κ² λ‹€.)

 

var mySet: Set = ["my", "name", "is", "kt"]
var compareSet: Set = ["kt", "is", "iOS", "Developer"]

mySet.intersection(compareSet) // ꡐ집합 : ["is", "kt"]
mySet.symmetricDifference(compareSet) // 합집합-ꡐ집합 : ["iOS", "Developer", "name", "my"]
mySet.union(compareSet) // 합집합 : ["my", "name", "is", "kt", "iOS", "Developer"]
mySet.subtracting(compareSet) // 여집합 : ["my", "name"]

'iOS [Swift] > 기초λ₯Ό νƒ„νƒ„νžˆ!' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Swift] String.components  (0) 2020.12.18
[Swift] String.Index  (0) 2020.12.17
[Swift] String Radixλ₯Ό ν†΅ν•œ μ§„λ²•λ³€ν™˜  (0) 2020.12.16
[Swift] enumerated()  (0) 2020.12.16
[Swift] map, filter, reduce  (0) 2020.12.15
Comments