Dictionary
-
[SE-0510] Introduce Dictionary.mapValuesWithKeysSwift 2026. 2. 21. 00:45
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SE-0510 Introduce Dictionary.mapValuesWithKeys์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ปIntroDictionary์ ๊ฐ์ ๋ณํํ ๋ key ์ ๋ณด๋ ํจ๊ป ํ์ํ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค.ํ์ง๋ง ํ์ฌ๋ ์ด๋ฐ ์์ ์ ํ๋ ค๋ฉด init(uniqueKeysWithValues:)๋ reduce(into:)๋ฅผ ์จ์ผ ํ๋๋ฐ, ์ด๋ค์ ๋ถํ์ํ๊ฒ dictionary๋ฅผ rehashingํ๊ฑฐ๋ ์ฌํ ๋นํ๋ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. SE-0510์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด mapValuesWithKeys๋ผ๋ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค.Key ์ ๋ณด๋ฅผ transformation closure์ ์ ๋ฌํ๋ฉด์๋ ์ฑ๋ฅ ์ค๋ฒํค๋ ์์ด ๊ฐ๋ง ๋ณํํ ์ ์์ต๋๋ค ๐ ํ์ฌ ์์ ์์๋..
-
Dictionary.init(uniqueKeysWithValues:)Swift 2021. 8. 31. 19:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Dictionary.init(uniqueKeysWithValues:)์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐๐ป ๋์ ๋๋ฆฌ๊ฐ ๋ญ์์?? ์ฐ์ ๋์ ๋๋ฆฌ๋ key์ value๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ์ปจํ ์ด๋์ ๋๋ค. ํน์ง์ด๋ผํ๋ฉด ๊ฐ value๋ ๊ณ ์ ์ ์ ์ผํ key์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๋์ ๋๋ฆฌ๋ array์ฒ๋ผ ์์๊ฐ ์์ง ์๊ธฐ์ ๊ฐ ๋ฌผ๋ ค์๋ key๊ฐ์ผ๋ก value๊ฐ์ ์ฐพ์ ์ ์์ต๋๋ค. ์ฆ ๋์ ๋๋ฆฌ๋ฅผ ํํํ๋ค๋ฉด Dictionary๋ก ํํํ ์ ์์ต๋๋ค๐ ๊ทธ๋ ๋ค๋ฉด ๋์ ๋๋ฆฌ์ ํค๊ฐ์ ๊ณ ์ ์ ๊ฐ์ด๋ Hashable ํด์ผ๊ฒ ์ฌฌ!? ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ๋์ ๋๋ฆฌ์ ํค๊ฐ์ ๋๋ถ๋ถ swift์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ Int, String, enum ๋ฑ๋ฑ์ผ๊ฒ๋๋ค! ํด๋น ๊ธฐ๋ณธ์ ๊ณต๋๋ ์๋ฃํ ํ์ ๋ค์ ์ด๋ฏธ H..