1. HashSet์ด๋?
Collection FrameWork์ ์ข ๋ฅ ์ค ํ๋ (์ปฌ๋ ์ ํ๋ ์ ์ํฌ์๋ List,Set,Map ์ด ์๋ค.)
*์ปฌ๋ ์ ํ๋ ์ ์ํฌ๋?
๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ ์ฝ๊ณ ,ํธ๋ฆฌํ๊ฒ, ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ์๋ฐ์์ ์ ๊ณตํ๋ ํด๋์ค์ ๋ชจ์.
HashSet ๋ด๋ถ ๋งค์๋ ๋ค์ List์ ๋งค์๋์ ๊ฑฐ์ ๊ฐ๋ค. (์ถ๊ฐ == .add, ์ญ์ == .remove ๋ฑ๋ฑ)
(1)HashSet์ ํน์ง
Hashset์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค. ๋ง์ฝ ์ค๋ณตํด์ ์ ์ด๋ ์๋์ผ๋ก ์ค๋ณต์ด ์ ๊ฑฐ ๋๋ค.
Hashset์ ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค. ๊ฐ์ ๋ฃ์ ์์์ ์๊ด์์ด ์ ์ฅ๋๋ค.
*๋ง์ฝ ๊ฐ์ ๋ฃ์ ์์๋๋ก ์ ์ฅ๋๊ธฐ ์ํ๋ค๋ฉด? LinkedHashSet์ ์ด์ฉํ๋ฉด ๋๋ค.
2. ์ฝ๋ ๋ฆฌ๋ทฐ
package Chap_09;
import java.util.HashSet;
import java.util.LinkedHashSet;
public class _06_HashSet {
public static void main(String[] args) {
// ์ธํธ
// ์ค๋ณต ํ์ฉ ํ์ง ์์ -> ์ค๋ณตํด์ ์ ์ด๋ ์๋์ผ๋ก ์ค๋ณต ์ ๊ฑฐ
// set์ ์์๋ณด์ฅ์ด ์๋จ. ์์๊ฐ ์ง ๋ฉ๋๋ก ๋ค์ด๊ฐ.
//์ ์ธ
HashSet<String> set = new HashSet<>();
//๋ฐ์ดํฐ ์ถ๊ฐ
set.add("์ผ๊ฒน์ด");
set.add("์์ฅ");
set.add("์๋ฃ");
set.add("์๊ธ");
set.add("ํ์ถ");
set.add("์ผ๊ฒน์ด");
set.add("๊นป์
");
set.add("์์ถ");
set.add("์ผ๊ฒน์ด");
System.out.println("์ด ๊ตฌ๋งค ์ํ ์ : " + set.size());
//์ํ
for (String s :
set) {
System.out.println(s);
}
System.out.println("------------------------------");
//ํ์ธ
if(set.contains("์ผ๊ฒน์ด")){
System.out.println("์ผ๊ฒน์ด ์ฌ๋ฌ ์ถ๋ฐ");
}
System.out.println("------------------------------");
//์ญ์
System.out.println("์ด ๊ตฌ๋งค ์ํ ์(์ผ๊ฒน์ด ๊ตฌ๋งค ์ ): " + set.size());
set.remove("์ผ๊ฒน์ด");
System.out.println("์ด ๊ตฌ๋งค ์ํ ์(์ผ๊ฒน์ด ๊ตฌ๋งค ํ): " + set.size());
System.out.println("------------------------------");
// ์ ์ฒด ์ญ์
set.clear();
if (set.isEmpty()){
System.out.println("๋จ์ ๊ตฌ๋งค ์ํ ์: " + set.size());
System.out.println("์ง์ผ๋ก ์ถ๋ฐ");
}
System.out.println("------------------------------");
// ์ธํธ: ์ค๋ณต ํ์ฉ x , ์์ ๋ณด์ฅ๋ x
// ๋งํฌ๋ํด์ฌ์
์ ๋ค์ด๊ฐ ์์๋๋ก ์ ์ฅ๋จ.
HashSet<Integer> intSet = new HashSet<>();
// HashSet<Integer> intSet = new LinkedHashSet<>(); --> ๊ฐ์ ๋ฃ์ ์์๋๋ก ์ ์ฅ
intSet.add(1);
intSet.add(13);
intSet.add(2);
for (int i :
intSet) {
System.out.println(i);
}
}
}
3. ์ค์ค๋ก ํด๋ณด๊ธฐ
package WorkOut_Myself;
import java.util.HashSet;
import java.util.LinkedHashSet;
public class HashSet_Myself {
public static void main(String[] args) {
// ์ ์ธ
HashSet<String> Memo = new HashSet<>();
// ๋ฐ์ดํฐ ์ถ๊ฐ
Memo.add("Get up Early");
Memo.add("Study Java");
Memo.add("Study Spring");
Memo.add("Study Java");
Memo.add("Study Spring");
Memo.add("Study HTML");
Memo.add("Study CSS");
Memo.add("Study JavaScript");
Memo.add("write 10 grateful things");
System.out.println("-------------------------------------");
// ์ด ์ํ ์ ์ถ๋ ฅ
System.out.println("to do list (today): " + Memo.size());
// ์ํ
for (String s :
Memo) {
System.out.println(s);
}
System.out.println("-------------------------------------");
// ํ๋ชฉ์ด ์๋์ง ํ์ธ
if(Memo.contains("Study Java")){
System.out.println("์ค๋ ์๋ฐ ๊ณต๋ถ๋ฅผ ํด์ผํฉ๋๋ค.");
}
System.out.println("-------------------------------------");
// ์ญ์
Memo.remove("Study CSS");
if(Memo.contains("Study CSS")){
System.out.println("์ค๋ CSS ๊ณต๋ถ๋ฅผ ํด์ผํฉ๋๋ค.");
}
else {
System.out.println("์ค๋ CSS ๊ณต๋ถ ์ ํด๋ ๋ฉ๋๋ค.");
}
System.out.println("-------------------------------------");
// ์ ์ฒด ์ญ์
Memo.clear();
System.out.println("๋จ์ ํ ์ผ ์๋? " + Memo.size());
// int HashSet ๋ง๋ค์ด์ ๊ฐ์ด ๋ฃ์ ์์๋๋ก ์ ์ฅ๋๋์ง ๋ณด๊ธฐ
HashSet<Integer> RandomDigit = new HashSet<>();
RandomDigit.add(1);
RandomDigit.add(14951);
RandomDigit.add(233250);
RandomDigit.add(40430643);
RandomDigit.add(77777);
RandomDigit.add(97971093);
for (int i :
RandomDigit) {
System.out.println(i);
}
System.out.println("-------------------------------------");
// ์์๋๋ก ๊ฐ์ ์ ์ฅํ ๋ ค๋ฉด?
HashSet<Integer>StraightDigit = new LinkedHashSet<>();
StraightDigit.add(1);
StraightDigit.add(14951);
StraightDigit.add(233250);
StraightDigit.add(40430643);
StraightDigit.add(77777);
StraightDigit.add(97971093);
for (int i :
StraightDigit) {
System.out.println(i);
}
}
}
0