๐ก 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
'๐ ์ฝ๋ฉํ ์คํธ > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] hasNextInt ๋ฉ์๋ (0) | 2023.01.05 |
---|---|
[JAVA] split() ์ธ์ ์ฌ๋ฌ๊ฐ (0) | 2022.12.26 |
[JAVA][์๊ณ ๋ฆฌ์ฆ] BFS (0) | 2022.11.08 |
[JAVA][์๊ณ ๋ฆฌ์ฆ] ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ( ์ ํ ์ฝ์ ๋ฒ๋ธ ) (0) | 2022.11.07 |
[JAVA] Queue ์ ๋ฆฌ (0) | 2022.11.05 |