1. HashMap ํน์ง
(1) HashSet๊ณผ ๋๊ฐ์ด ์์ ๋ณด์ฅ x, ์ค๋ณต ํ์ฉ x ์ด๋ค.
(Key๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต ์ฌ๋ถ check ํ๊ณ , ์ค๋ณต๋ Key๊ฐ์ด ๋ค์ด์ฌ ์, ๊ฐ์ฅ ์ต๊ทผ์ ์ ๋ฐ์ดํธ ๋ Value๊ฐ์ ์ ์ฅํ๋ค. )
(2) HashMap์ (Key, Value) ํ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
Key๊ฐ ์ฌ๋ฌผํจ ์ด์ , Value๊ฐ ์ฌ๋ฌผํจ์ ๋ค์ด์๋ ๊ฐ์ด๋ผ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.
Key ํ๋๋น Value๋ ๋ฌด์กฐ๊ฑด ํ ๊ฐ์ด๋ค.
(3) Key์ Value๋ ์๋ฃํ์ด ์๋ก ๋ค๋ฅผ ์ ์๋ค.
(์๋ฃํ์ Wrapper ํด๋์ค๋ง ๊ฐ๋ฅ)
2. ์ฝ๋ ๋ฆฌ๋ทฐ
import java.util.HashMap;
public class _07_HashMap {
public static void main(String[] args) {
//์ ์ธ HashMap<K,V> ์ด๋ฆ = new HashMap<>();
HashMap<String,Integer> map = new HashMap<>();
// ๋ฐ์ดํฐ ์ถ๊ฐ map.put(K,V)
map.put("์ ์ฌ์", 10);
map.put("๋ฐ๋ช
์", 5);
map.put("๊น์ข
๊ตญ", 3);
map.put("์์ฅํ", 15);
System.out.println("์ด ๊ณ ๊ฐ ์: " + map.size());
System.out.println("----------------------------------");
// ์กฐํ map.get(K) = V
System.out.println("์ ์ฌ์๋์ ํฌ์ธํธ : " + map.get("์ ์ฌ์"));
System.out.println("๋ฐ๋ช
์๋์ ํฌ์ธํธ : " + map.get("๋ฐ๋ช
์"));
System.out.println("------------------------------------");
// Key๊ฐ์ด ์๋์ง ํ์ธ
if(map.containsKey("์์ฅํ")) {
int point = map.get("์์ฅํ");
map.put("์์ฅํ", ++point);
System.out.println("์์ฅํ๋์ ๋์ ํฌ์ธํธ: " + map.get("์์ฅํ"));
} else{
map.put("์์ฅํ",1);
System.out.println("์์ฅํ๋ ์ ๊ท ๋ฑ๋ก (ํฌ์ธํธ 1)");
}
System.out.println("--------------------------");
// ์ญ์
map.remove("์ ์ฌ์");
System.out.println(map.get("์ ์ฌ์"));
System.out.println("-------------------------");
//์ ์ฒด ์ญ์
map.clear();
if (map.isEmpty()){
System.out.println("๋จ์ ๊ณ ๊ฐ ์: " + map.size());
System.out.println("๊ฐ๊ฒ ์ ์");
}
System.out.println("---------------------------");
//๋ค์ ๊ณ ๊ฐ๋ค์ด ๋ง ์ฐพ์์ด
map.put("์ ์ฌ์", 10);
map.put("๋ฐ๋ช
์", 5);
map.put("๊น์ข
๊ตญ", 3);
map.put("์์ฅํ", 15);
//key ํ์ธ
for (String key :
map.keySet()) {
System.out.println(key);
}
System.out.println("------------------------------");
//Value ํ์ธ
for (int value :
map.values()) {
System.out.println(value);
}
System.out.println("------------------------------------");
//Key / Value ํจ๊ป ํ์ธ
for (String key :
map.keySet()) {
System.out.println("๊ณ ๊ฐ ์ด๋ฆ: "+key + "\tํฌ์ธํธ: " +map.get(key));
}
System.out.println("------------------------------");
// ๋งต: ์ค๋ณต x (๋งจ ๋ง์ง๋ง์ ์ถ๊ฐํ ๊ฐ๋ง ๋ค์ด๊ฐ๋ค.), ์์ x
map.put("๊น์ข
๊ตญ", 10);
map.put("๊น์ข
๊ตญ", 30);
map.put("๊น์ข
๊ตญ", 50);
for (String key :
map.keySet()) {
System.out.println("๊ณ ๊ฐ ์ด๋ฆ: "+key + "\tํฌ์ธํธ: " +map.get(key));
}
System.out.println("------------------------------");
}
}
3. ์ค์ค๋ก ํด๋ณด๊ธฐ
import java.util.HashMap;
public class HashMap_Myself {
public static void main(String[] args) {
// ์ ์ธ
HashMap<String, Integer> Goal = new HashMap<>();
// ๋ฐ์ดํฐ ์ถ๊ฐ
Goal.put("Harry Kane", 25);
Goal.put("Halland", 28);
Goal.put("Son_Heung_Min", 21);
Goal.put("Mohamad_Salla", 17);
Goal.put("Hwang_Hee_Chan", 8);
// ์กฐํ
System.out.println("ํด๋ฆฌ์ผ์ธ์ ๋์ ์: " + Goal.get("Harry Kane"));
System.out.println("์ํฅ๋ฏผ์ ๋์ ์: " + Goal.get("Son_Heung_Min"));
System.out.println("--------------------------------------------");
// ํค ๊ฐ์ด ์๋์ง ํ์ธ
if(Goal.containsKey("Ronaldo")){
int point = Goal.get("Ronaldo");
Goal.put("Ronaldo", ++point);
} else {
Goal.put("Ronaldo",1);
}
System.out.println("ํธ๋ ๋์ ๋์ ์:" + Goal.get("Ronaldo"));
System.out.println("--------------------------------------------");
// ์ญ์
Goal.remove("Ronaldo");
System.out.println(Goal.get("Ronaldo"));
System.out.println("--------------------------------------------");
// ์ ์ฒด ์ญ์
Goal.clear();
if(Goal.isEmpty()){
System.out.println("์ ์์ฆ์ ์ํด ์ด๊ธฐํ ์๋ฃ");
}
System.out.println("--------------------------------------------");
// ๋ค์ ๊ฐ ๋ฃ๊ณ
Goal.put("Harry Kane", 30);
Goal.put("Halland", 26);
Goal.put("Son_Heung_Min", 24);
Goal.put("Mohamad_Salla", 20);
Goal.put("Hwang_Hee_Chan", 10);
// Key ์ํ
for (String s :
Goal.keySet()) {
System.out.println("๋์ ์์๊ถ์ ๋ ์ฌ๋๋ค: "+s);
}
System.out.println("--------------------------------------------");
// Value ์ํ
for (int i :
Goal.values()) {
System.out.println("๋์ ์ ๊ฒฝ์์๋ค์ ๊ณจ ์: "+i);
}
System.out.println("--------------------------------------------");
// Key, Value ๊ฐ์ด ์ํ
for (String s :
Goal.keySet()) {
System.out.println("๋์ ์์๊ถ์ ๋ ์ฌ๋๋ค: " + s + "\t / ๊ณจ ์: " + Goal.get(s));
}
}
}
0