[JAVA] HashSet
HashSet
1. ๊ฐ๋
HashMap์ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํด์ ๊ตฌํ๋ ์งํฉ ์๋ฃ๊ตฌ์กฐ- ์ค๋ณต ๋ถ๊ฐ, ์์ X, null ํ ๊ฐ ์ ์ฅ ๊ฐ๋ฅ
- ๋ด๋ถ์ ์ผ๋ก
HashMap<E, Object>๋ก ๊ตฌํ add(E e)๋ ๋ด๋ถ์ ์ผ๋กmap.put(e, DUMMY_VALUE)์ฒ๋ผ ๋์
2. ์ ์ธ
HashSet<String> st = new HashSet<>();
// ๊ถ์ฅ: ์ธํฐํ์ด์ค ํ์ฉ
Set<String> set = new HashSet<>();
3. ์ฃผ์ ๋ฉ์๋
| ๋ฉ์๋ | ์ค๋ช | ํ๊ท /์ต์ |
|---|---|---|
add(E e) |
์์ ์ถ๊ฐ (์ค๋ณต์ด๋ฉด false ๋ฐํ) | O(1)/O(N) |
contains(Object o) |
ํด๋น ์์ ํฌํจ ์ฌ๋ถ ํ์ธ | O(1)/O(N) |
remove(Object o) |
์์ ์ ๊ฑฐ | O(1)/O(N) |
clear() |
๋ชจ๋ ์์ ์ ๊ฑฐ | O(N)/O(N) |
isEmpty() |
๋น์ด ์๋์ง ํ์ธ | O(1)/O(1) |
size() |
์์ ๊ฐ์ ๋ฐํ | O(1)/O(1) |
iterator() |
๋ฐ๋ณต์ ๋ฐํ (ํฅ์๋ for๋ฌธ ๋ฑ์ ์ฌ์ฉ) | O(1)/O(N) |
์ฝ๋
add(E e)set.add("์ธ ํค์๋ง"); set.add("์นด๊ฒ์ผ๋ง"); set.add("์นด๊ฒ์ผ๋ง"); // ์ค๋ณต ๋ฌด์ System.out.println(set);[์ธ ํค์๋ง, ์นด๊ฒ์ผ๋ง]contains(o)if(set.contains("์นด๊ฒ์ผ๋ง")) { System.out.println("์ ์ ์์!"); }์ ์ ์์!remove(o)set.remove("์นด๊ฒ์ผ๋ง"); System.out.println(set);[์ธ ํค์๋ง]clear()set.clear(); System.out.println(set);[]isEmpty()if(set.isEmpty()) { set.add("์ฟ ๋ก์ค"); set.add("์ผ๋ง"); System.out.println("๋น์ด์๋๊ฑฐ ์ฑ์!!\n"+set); }๋น์ด์๋๊ฑฐ ์ฑ์!! [์ฟ ๋ก์ค, ์ผ๋ง]size()System.out.println("๋ช๊ฐ ๋ค์ด์๋๋ฉด..."+set.size()+"๊ฐ!");๋ช๊ฐ ๋ค์ด์๋๋ฉด...2๊ฐ!iterator()// ์ผ๋ฐ ๋ฐ๋ณต, for-each๋ฌธ for(String s : set) { System.out.println("์บ๋ฆญํฐ: "+s); } // ์ญ์ ๋ฑ์ด ํ์ํ ๋ - Iterator Iterator<String> it = set.iterator(); while(it.hasNext()) { System.out.println(it.next()); it.remove(); System.out.println(set); }์บ๋ฆญํฐ: ์ฟ ๋ก์ค ์บ๋ฆญํฐ: ์ผ๋ง ์ฟ ๋ก์ค [์ผ๋ง] ์ผ๋ง []
Leave a comment