Search

Hash

Hash

ํ•ด์‹œ๋ž€ ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์ธ ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ์„ฑ๋œ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ๋น„ํŠธ์—ด์„ ์˜๋ฏธํ•œ๋‹ค.
๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™”๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ณตํ˜ธํ™”๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค!
๋ณ€๊ฒฝ ์ „ ์›๋ž˜ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํ‚ค(key), ๋ณ€๊ฒฝ ํ›„ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํ•ด์‹œ ๊ฐ’(Hash Value)๋ผ๊ณ  ํ•œ๋‹ค.
๋ณ€ํ™˜ ํ›„ ๋ณ€ํ™˜๋œ ๊ฐ’์ด ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ โ€˜ํ•ด์‹œ์ถฉ๋Œโ€™์ด๋ผ๊ณ  ํ•œ๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฒด์ด๋‹, ๊ฐœ๋ฐฉ ์ฃผ์†Œ๋ฒ• ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Hash Table, Hash Map

ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค๋ฅผ ํ•ด์‹œ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•˜๊ณ  ์ด ํ•ด์‹œ๊ฐ’์„ ์ƒ‰์ธ(Index) ํ˜น์€ ์ฃผ์†Œ ์‚ผ์•„ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํ‚ค์™€ ํ•จ๊ป˜ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ Hash Table ๋˜๋Š” Hash Map์ด๋ผ ํ•œ๋‹ค.
ํ•˜์ง€๋งŒ Java์—์„œ๋Š” Hash Table โ‰  Hash Map์ด๋‹ค.

Hash Table

HashTable์€ ๋ชจ๋“  Data ๋ณ€๊ฒฝ ๋ฉ”์†Œ๋“œ๋Š” syncronized ์„ ์–ธ์ด ๋˜์–ด ์žˆ๋‹ค.
์ฆ‰, ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์ „ ์Šค๋ ˆ๋“œ๊ฐ„ ๋™๊ธฐํ™” ๋ฝ์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
๋˜ํ•œ HashMap์ด key์— null์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ HashTable์˜ ๊ฒฝ์šฐ key์— null์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.