ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Dictionary


์•ˆ๋…•ํ•˜์„ธ์š”?

์˜ค๋Š˜์€ ์ปฌ๋ ‰์…˜ ํƒ€์ž…์—์„œ dictionary์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฑฐ์—์š”!

๋”•์…”๋„ˆ๋ฆฌ๋Š” ์‚ฌ์ „์—์„œ ๋‹จ์–ด๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ด ์‹๋ณ„์ž๋ฅผ ๊ธฐ์ค€ ๊ฐ’์œผ๋กœ ์ฐพ์„๋•Œ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”.

๋ฐ”๋กœ ๊ณต์‹๋ฌธ์„œ๋กœ ํ™•์ธํ•ด ๋ณด์‹œ์ฃ !

ํ‚ค-๊ฐ’์„ ์Œ์œผ๋กœ ๊ฐ€์ง€๋Š” ์ปฌ๋ ‰์…˜์ด๋‹ค.. ๋ผ๋„ค์š”

๊ทธ๋ฆฌ๊ณ  key๋Š” hashable์ด๋‹ค. ๊ณ ์œ  ํ•ด์•ผ ํ•˜๋‚˜๋ด์š”

์–ด? ์ €๋ฒˆ์— ์ง‘ํ•ฉ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•  ๋•Œ ๊ฐ’์ด ๊ณ ์œ ํ•˜๊ณ  ์ˆœ์„œ๊ฐ€ ์—†์—ˆ์ž–์•„์š”?

์–˜๋„ ๊ทธ๋Ÿด๊นŒ์š”? 

๋งž์Šต๋‹ˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋„ ์ˆœ์„œ๊ฐ€ ์—†์–ด์š”!

 

๊ทธ๋Ÿผ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ•œ๋ฒˆ ์„ ์–ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var emptyDic1: [Int: String] = [:]

var emptyDic2 = [Int: String]()

var emptyDic3: Dictionary = [Int: String]()

var emptyDic4: Dictionary<Int, String> = Dictionary<Int, String>()

๋นˆ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด ๋ดค๋Š”๋ฐ์š”! 

ํ‚ค๋Š” Intํƒ€์ž…, ๊ฐ’์€ String ํƒ€์ž…์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ƒ์„ฑํ•ด ๋ดค์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ๊ฐ’์ด ์žˆ๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์„ ์–ธํ•ด ๋ณผ๊ฑด๋ฐ์š”!!

์„ ์–ธํ•˜๊ณ  ๋”•์…”๋„ˆ๋ฆฌ์— ์ ‘๊ทผํ•ด ๋ณผ๊ฒŒ์š”!

var classDic1: [Int: String] = [1:"์ฒ ์ˆ˜", 2:"์˜์ˆ˜", 3:"๋ฏธ์• "]

var classDic2: [Int: String] = [1:"์ฒ ์ˆ˜", 1:"์ฒ ์ˆ˜", 3:"๋ฏธ์• "] 
// ๊ณ ์œ ํ•˜์ง€ ์•Š์•„์„œ ์—๋Ÿฌ

classDic1[1]
// ์ฒ ์ˆ˜

classDic1["์ฒ ์ˆ˜"]
// ์—๋Ÿฌ : ํ‚ค๋กœ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

์ ‘๊ทผํ•ด๋ณธ ๊ฒฐ๊ณผ ํ‚ค๊ฐ’์œผ๋กœ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋„ค์š”!

 

์ด๋ฒˆ์—๋Š” ๋”•์…”๋„ˆ๋ฆฌ์˜ ๊ฐ’์„ ๋ฐ”๊พธ์–ด ๋ณผ๊ฒŒ์š”!

 

var classDic1: [Int: String] = [1:"์ฒ ์ˆ˜", 2:"์˜์ˆ˜", 3:"๋ฏธ์• "]

classDic1[1] = "์ฒ ์ˆ˜ํ˜•๋‹˜"
classDic1[4] = "์ฟค"
print(classDic1)
// [1: "์ฒ ์ˆ˜ํ˜•๋‹˜", 4: "์ฟค", 3: "๋ฏธ์• ", 2: "์˜์ˆ˜"]

classDic1.updateValue("์˜์ˆ˜ ๋ˆ„๋‚˜", forKey: 2)
print(classDic1)
// [2: "์˜์ˆ˜ ๋ˆ„๋‚˜", 1: "์ฒ ์ˆ˜ํ˜•๋‹˜", 4: "์ฟค", 3: "๋ฏธ์• "]

๋จผ์ € ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 2๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. ๋‘˜๋‹ค ๊ธฐ๋Šฅ์€ ๋˜‘๊ฐ™์•„์š” 

๋‹ค๋งŒ ๋ฐ˜ํ™˜ ๊ฐ’์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

 

์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ํ‚ค ๊ฐ’์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ์„ค์ •ํ•ด ์ฃผ๋ฉด 

ํ‚ค ๊ฐ’์ด ์žˆ์œผ๋ฉด ์ˆ˜์ •์ด ๋˜๊ณ , ํ‚ค ๊ฐ’์ด ์—†์œผ๋ฉด ํ•ด๋‹น ํ‚ค๊ฐ’์œผ๋กœ ๊ฐ’์ด ์ถ”๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

updateValue ๋งค์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ’์„ ์„ค์ •ํ•ด ์ฃผ๋ฉด

์œ„์™€ ๋ฐฉ์‹์ด ๋˜‘๊ฐ™์ง€๋งŒ

๋ณ€๊ฒฝ๋˜๊ธฐ ์ „์˜ ์ด์ „๊ฐ’(oldValue)๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ด์ „์˜ ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ๋Š” nil์ด ์ถœ๋ ฅ๋˜๊ฒŒ ๋˜๊ณ 

๋ฐ˜ํ™˜๊ฐ’๋„ ์˜ต์…”๋„๋กœ ์ถœ๋ ฅ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์˜ต์…”๋„์€ ๋‹ค์Œ์— ๋‹ค๋ฃจ๋„๋ก ํ• ๊ฒŒ์š”!! 

 

๋‹ค์Œ์€ ์‚ญ์ œ๋ฅผ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

var classDic1: [Int: String] = [1:"์ฒ ์ˆ˜", 2:"์˜์ˆ˜", 3:"๋ฏธ์• "]

classDic1[1] = nil
classDic1.removeValue(forKey: 3)

print(classDic1)
// [2: "์˜์ˆ˜"]

ํ‚ค ๊ฐ’์œผ๋กœ ์ ‘๊ทผํ•ด์„œ nil์„ ์ฃผ๊ฑฐ๋‚˜

removeValue๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ