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์ ํ์ฉํ์ง ์๋๋ค.