TIL78 ✨

YaR LabΒ·2023λ…„ 8μ›” 9일
0

TIL✨

λͺ©λ‘ 보기
66/136
post-thumbnail

πŸ—“οΈ23.08.09

Hashable

  • Hashable ν”„λ‘œν† μ½œμ„ μ€€μˆ˜ν•˜λŠ” λͺ¨λ“  νƒ€μž…μ€ 집합(set)μ΄λ‚˜ λ”•μ…”λ„ˆλ¦¬μ˜ ν‚€λ‘œ μ‚¬μš©ν•  수 있음
  • ν‘œμ€€ 라이브러리의 λ§Žμ€ νƒ€μž…μ΄ Hashable을 μ€€μˆ˜ν•¨
  • λ¬Έμžμ—΄, μ •μˆ˜, 뢀동 μ†Œμˆ˜μ , λΆ€μšΈ κ°’ λ“±κ³Ό 심지어 집합(set)은 기본적으둜 ν•΄μ‹œ κ°€λŠ₯함
  • 일뢀 λ‹€λ₯Έ νƒ€μž…, 예λ₯Ό λ“€μ–΄ μ˜΅μ…”λ„, λ°°μ—΄ 및 λ²”μœ„λŠ” νƒ€μž… μΈμžκ°€ λ™μΌν•œ 경우 μžλ™μœΌλ‘œ ν•΄μ‹œ κ°€λŠ₯ν•˜κ²Œ 됨
  • μ‚¬μš©μž μ •μ˜ νƒ€μž…λ„ ν•΄μ‹œ κ°€λŠ₯함
  • μ—°κ΄€ 값을 가지지 μ•ŠλŠ” μ—΄κ±°ν˜•μ„ μ •μ˜ν•  λ•ŒλŠ” μžλ™μœΌλ‘œ Hashable μ€€μˆ˜κ°€ κ°€λŠ₯ν•˜λ©°, λ‹€λ₯Έ μ‚¬μš©μž μ •μ˜ νƒ€μž…μ—λŠ” hash(into:) λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•˜μ—¬ Hashable μ€€μˆ˜λ₯Ό μΆ”κ°€ν•  수 있음
  • μ €μž₯ ν”„λ‘œνΌν‹°κ°€ λͺ¨λ‘ Hashableν•œ ꡬ쑰체 및 λͺ¨λ“ -Hashable μ—°κ΄€ 값을 κ°€μ§€λŠ” μ—΄κ±°ν˜• νƒ€μž…μ— λŒ€ν•΄μ„œλŠ” μ»΄νŒŒμΌλŸ¬κ°€ μžλ™μœΌλ‘œ hash(into:)의 κ΅¬ν˜„μ„ μ œκ³΅ν•  수 있음
  • 값을 ν•΄μ‹±ν•œλ‹€λŠ” 것은 ν•΄μ‹œ ν•¨μˆ˜λ₯Ό 톡해 ν•΄λ‹Ή κ°’μ˜ 핡심 ꡬ성 μš”μ†Œλ₯Ό μž…λ ₯ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ 핡심 ꡬ성 μš”μ†Œλž€ Equatable의 κ΅¬ν˜„μ— κΈ°μ—¬ν•˜λŠ” μš”μ†Œμž…λ‹ˆλ‹€. 두 개의 μΈμŠ€ν„΄μŠ€κ°€ λ™μΌν•˜λ©΄ hash(into:)μ—μ„œ Hasher에 λ™μΌν•œ 값을 λ™μΌν•œ μˆœμ„œλ‘œ μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

https://developer.apple.com/documentation/swift/hashable
https://developer.apple.com/documentation/swift/hasher

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 8μ›” 9일

잘 μ½μ—ˆμŠ΅λ‹ˆλ‹€. 쒋은 정보 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

λ‹΅κΈ€ 달기