HashSet
Set์ธํฐํ์ด์ค์์ ์ง์ํ๋ ๊ตฌํ ํด๋์ค
1. ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค.
2. ์ ๋ ฅํ ์์๊ฐ ๋ณด์ฅ๋์ง ์๋๋ค.
3. null์ ํ์ฉํ๋ค.
์ค๋ณต์ ๊ฑธ๋ฌ๋ด๋ ๊ณผ์
HashSet์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ธฐ ์ ์
1. ๋จผ์ ๊ฐ์ฒด์ hashCode() ๋ฉ์๋๋ฅผ ํธ์ถํด์ ํด์ ์ฝ๋๋ฅผ ์ป์ด๋ธ๋ค.
2. ๊ฐ์ ํด์ ์ฝ๋๊ฐ ์กด์ฌํ๋ค๋ฉด equals() ๋ฉ์๋๋ก ๋น๊ตํด์ true๊ฐ ๋์ค๋ฉด ๋์ผํ ๊ฐ์ฒด๋ก ํ๋จํ์ฌ
์ค๋ณต ์ ์ฅ์ ํ์ง ์๋๋ค.
๋ฌธ์์ด์ HashSet์ ์ ์ฅํ ๊ฒฝ์ฐ
๋ฌธ์์ด์ด ๊ฐ์ ๋ String ๊ฐ์ฒด๋ ์๋ก ๊ฐ์ ๊ฐ์ฒด๋ก ๊ฐ์ฃผ๋๋๋ฐ, ๊ทธ ์ด์ ๋
String ํด๋์ค๋ hashCode()์ equals() ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ค. ๊ทธ๋์ ๊ฐ์ ๋ฌธ์์ด์ด๋ฉด true๋ฅผ, ๋ค๋ฅด๋ฉด false๋ฅผ ๋ฆฌํดํ๊ฒ๋ ํ๋ค.
ํน์ดํ๊ฒ HashSet ์์ ํน์ ๊ฐ์ ํฌํจํ๊ณ ์๋์ง ํ์ธํ ์ ์๋ ๋ฉ์๋๊ฐ ์๋ค.
HashSet<String> set = new HashSet<> ();
์ผ ๊ฒฝ์ฐ,
set.contains("test"); ํ๋ฉด
HashSet์์ "test"๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉด true, ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค.
'Algorithm > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ๋นํธ๋ง์คํน - ์์ด, ์กฐํฉ, ๋ถ๋ถ์งํฉ (0) | 2023.09.16 |
---|---|
์ฐ์ ์์ ํ(Priority Queue)์ ํ(Heap) (0) | 2023.08.17 |
[์๋ฃ๊ตฌ์กฐ] HashMap (0) | 2023.01.04 |
[์๊ณ ๋ฆฌ์ฆ] BFS์ DFS ์๊ฐ๋ณต์ก๋ (0) | 2022.11.20 |
[์๊ณ ๋ฆฌ์ฆ] ์์ด, ์กฐํฉ, ๋ถ๋ถ์งํฉ Java (0) | 2022.08.22 |