Collection - 2. Set (์งํฉ)
Set
set ํํ๋ก ์ง์ ๋๋ ค๋ฉด ๋ฐ๋์ ํ์
์ด hashable
์ด์ด์ผ๋ง ํ๋ค.
swift์ hashable
ํ์
์์ Int
Double
Bool
String
๋ฑ์ด ์๋ค.
set์๋ ์ค๋ณต๋ ์์๊ฐ ์์ ์ ์๋ค. ๋ง์ฝ ๋ฃ๋๋ผ๋ ์ค๋ณต๊ฐ์ ์ฌ๋ผ์ง๋ค.
set๋ array์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๊ดํธ [ ]
๋ฅผ ์ฌ์ฉํ๋ค.
set์ array์ ๋ค๋ฅด๊ฒ index๋ก ์ ๊ทผ ํ ์ ์๋ค. (์์๊ฐ ์๋ค)
์งํฉ๊ณผ ๊ฐ์ ๊ฐ๋
Set ์์ฑ
var letters = Set<Character>()
์์ ์ถ๊ฐ
letters.insert("A")
๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ์ด์ฉํ set ์์ฑ
var musicGenres : Set<String> = ["Hip hop", "Classic", "Rock"]
Set์ ์ถ๊ฐ / ์ญ์ / ์ ๊ทผ
var language : set<String> = ["python", "c", "java"]
language.insert("swift")
if language.isEmpty {
print("language is Empty!")
} else{
if language.contains("swift"){
print("language contains swift!")
} else{
print("language not contains swift")
}
}
>>> language contains swift!
isEmpty
ํจ์๋ก ๋น์ด์๋์ง ํ์ธ ๊ฐ๋ฅํ๋ค.
insert
ํจ์๋ก ๊ฐ์ ์ถ๊ฐ ํ๋ค.
contains
ํจ์๋ก ํด๋น ๊ฐ์ด ์๋์ง ํ์ธ ๊ฐ๋ฅํ๋ค.
์งํฉ์ฐ์ฐ (๊ต์งํฉ, ์ฐจ์งํฉ, ๋์นญ์ฐจ, ํฉ์งํฉ)
Swift - set ์ฐ์ฐ
intersection
: ๊ต์งํฉ
symmetricDifference
: ๋์นญ์ฐจ์งํฉ (ํฉ์งํฉ์์ ๊ต์งํฉ์ ๋บ๊ฒ)
union
: ํฉ์งํฉ
subtracting
: ์ฐจ์งํฉ
let oddDigits: Set = [1, 3, 5, 7, 9]
let evenDigits: Set = [0, 2, 4, 6, 8]
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]
oddDigits.union(evenDigits).sorted()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
oddDigits.intersection(evenDigits).sorted()
// []
oddDigits.subtracting(singleDigitPrimeNumbers).sorted()
// [1, 9]
oddDigits.symmetricDifference(singleDigitPrimeNumbers).sorted()
// [1, 2, 9]
์ด ์ธ์๋ ๋ถ๋ถ์งํฉ์ธ์ง ํ์ธํ๋ isSuperset(of:)
, isStrictSubset(of:)
๋ฑ์ ๋ฉ์๋๊ฐ ์๋ค.
Swift ์ Dictionaryํ์
์ Foundationํด๋์ค์ NSDictionary๋ฅผ ๋ธ๋ฆฟ์งํ ํ์
์ด๋ค.
Collection - 3. Dictionary(์ฌ์ )
Swift ์ Dictionary
ํ์
์ Foundation
ํด๋์ค์ NSDictionary
๋ฅผ ๋ธ๋ฆฟ์งํ ํ์
์ด๋ค.
[key : Value] ํํ๋ก ์ ์ธํ ์ ์๋ค.
์ ์ธํ ๋๋ key์ ํ์
๊ณผ Value์ ํ์
์ ๊ฐ๊ฐ ๋ช
์ํด์ผํ๋ค.
array์ฒ๋ผ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋๊ฒ ์๋๋ผ, key๋ฅผ ํตํด ์ ๊ทผํ๋ค.
Dictionary ์์ฑ
var nameOfIntegers = [Int : String]()
nameOfIntegers[16] = "sixteen"
print(nameOfIntegers)
>>> [16: "sixteen"]
๋ฆฌํฐ๋ด์ ์ด์ฉํ Dictionary ์์ฑ
var priceOfItem : [String: Int] = ["banana":1000, "ice":500, "soju":1800]
print(priceOfItem)
>>> ["banana": 1000, "ice": 500, "soju": 1800]
isEmpty
๋ฅผ ์ด์ฉํ์ฌ ๋น ๋์
๋๋ฆฌ์ธ์ง ํ์ธํ ์ ์๋ค.
Dictionary[key] = Value
์ ํํ๋ก ์๋ก์ด key, Value๋ฅผ ์ถ๊ฐ ํ ์ ์๋ค.