Deep_Dev

๐Ÿ’ก Collection ์ด๋ž€?

collection : ๊ฐ์ฒด์ด๋ฉฐ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ์›์†Œ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

 

๐Ÿ’ก Collection ์ž๋ฃŒ๊ตฌ์กฐ ์œ ํ˜•

1. ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ชฉ๋ก์ธ List

2. ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ชฉ๋ก์ธ Set

3. ๋จผ์ € ๋“ค์–ด์˜จ ๊ฒƒ์ด ๋จผ์ € ๋‚˜๊ฐ€๋Š”(FIFO) Queue 

4. Key-Valueํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๋Š” Map

 

 

 


๐Ÿ’ก HashMap๊ณผ HashSet์˜ ์ฐจ์ด์  6๊ฐ€์ง€ 

 

1.  ์ •์˜ 

HashMap : Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด๋กœ, HashTable๊ณผ ์œ ์‚ฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ

HashSet : Set์˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด๋กœ, ๋‚ด๋ถ€์ ์œผ๋กœ HashMap์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— HashTable๊ณผ ์œ ์‚ฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ

 

2.  ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•ํƒœ

HashMap : Key-Value ์Œ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, Key์™€ Value์˜ Mapping์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค.

 

HashSet : ๊ฐ์ฒด ๊ทธ ์ž์ฒด๋ฅผ ์ €์žฅํ•œ๋‹ค.

์œ„์—์„œ HashMap์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ,

Key ๊ฐ’์œผ๋กœ๋Š” ์‚ฝ์ž…๋˜๋Š” ๊ฐ์ฒด ๊ทธ ์ž์ฒด๋ฅผ, Value ๊ฐ’์œผ๋กœ๋Š” HashSet ๋‚ด๋ถ€ ๊ตฌํ˜„ ์ฝ”๋“œ์—์„œ ๋ฏธ๋ฆฌ ์„ ์–ธํ•ด๋‘” dummy ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

3.  ์ค‘๋ณต ํ—ˆ์šฉ ์—ฌ๋ถ€

HashMap : ์ค‘๋ณต Key ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ, ์ค‘๋ณต Value ๊ฐ’์€ ํ—ˆ์šฉ ( ex : {'a' : 1, 'b':1, 'c':2} )

 

HashSet : ๊ฐ์ฒด ์ž์ฒด๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ( ex : {'a', 'b', 'c'} )

 

4.  Null ํ—ˆ์šฉ ์—ฌ๋ถ€

HashMap : ( ์ค‘๋ณต Key ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ) ๋‹จ ํ•˜๋‚˜์˜ NULL ๊ฐ’์„ KEY ๊ฐ’์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ NULL ๊ฐ’์„ VALUE ๊ฐ’์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

HashSet : ๋‹จ ํ•˜๋‚˜์˜ NULL ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

5.  ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ๋ฐฉ๋ฒ•

HashMap : put() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š”๋ฐ, Key-Value ์Œ ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์‚ฝ์ž… ์—ฐ์‚ฐ ๋™์•ˆ ๋‹จ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

HashSet : add() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š”๋ฐ,

๊ฐ์ฒด ๊ทธ ์ž์ฒด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ HashMap์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฝ์ž…๋˜๋Š” ๊ฐ์ฒด(Key)์™€ dummy๊ฐ์ฒด(value),

์ด 2๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์‚ฝ์ž… ์—ฐ์‚ฐ๋™์•ˆ ์ƒ์„ฑ๋œ๋‹ค.

 

6.  ์„ฑ๋Šฅ

์†๋„ : HashMap > HashSet