νλ‘κ·Έλλ° κ³΅λΆ/Java
[18μΌμ°¨] HashMap, HashSet
λμ₯μΏ΅μΌ
2023. 3. 5. 14:48
HashMap
- μμ μ κ·Ό < ν€(key) μ¬μ©
- list["νλ"], list["λ¬λ"], list["λ³λ"]
- μμκ° μλ λ°μ΄ν° μ§ν© > λ°©λ²νΈκ° μμ > μμλ₯Ό μ μ μλ€.
ex) νλλ°, λ¬λλ°, λ³λλ°
- λ°©μ΄λ¦ > μλ―Έ λͺ
ν
- λ°©μ΄λ¦ > 루ν λΆκ°λ₯
- μμ > ν€(key) + κ°(value)
- ν€(key)λ μ μΌνλ€.
- κ°(value)μ μ€λ³΅μ΄ κ°λ₯νλ€. > ν€κ° μ μΌν΄μ..
HashMapμ μ¬μ©
//HashMap μ¬μ©λ²
HashMap<String, String> map = new HashMap<String, String>();
//1. μμ μΆκ°νκΈ°
map.put("red", "λΉ¨κ°");
map.put("yellow", "λ
Έλ");
map.put("blue", "νλ");
//2. μμ κ°μ
System.out.println(map.size());
//3. μμ μ½κΈ°
System.out.println(map.get("red"));
System.out.println(map.get("yellow"));
System.out.println(map.get("blue"));
//4. μμ μμ (λ°λ‘ μμ)
//- ν€(key)λ μ μΌνλ€.
map.put("yellow", "μλ
Έλ"); //μΆκ°(X), μμ (O)
System.out.println(map.get("yellow"));
//5. μμ κ²μ
//- contains
System.out.println(map.containsKey("yellow"));
System.out.println(map.containsValue("λ
Έλ"));
//6. μμ μμ
map.remove("yellow");
System.out.println(map.size());
System.out.println(map.get("yellow")); //μλ key μμ²μ null λ°ν (μλ¬X)
//7. μ΄κΈ°ν
map.clear();
System.out.println(map.size());
map.put("red", "λΉ¨κ°");
map.put("yellow", "λ
Έλ");
map.put("blue", "νλ");
//{red=λΉ¨κ°, blue=νλ, yellow=λ
Έλ}
System.out.println(map); //toString() μ€λ²λΌμ΄λ© > λ€ν
ArrayList<String> list = new ArrayList<String>();
list.add("λΉ¨κ°");
list.add("λ
Έλ");
list.add("νλ");
//[λΉ¨κ°, λ
Έλ, νλ]
System.out.println(list);
map.clear();
System.out.println(map.isEmpty());
Set κ³μ΄
- μμκ° μλ μ§ν©
- μλ³μκ° μλ€.(λ°©λ²νΈX, λ°©μ΄λ¦X) > λ°©κ³Ό λ°©μ ꡬλΆν μ μλ€.
- λ°μ΄ν° μ€λ³΅μ νμ©νμ§ μλλ€.
HashSetμ μ¬μ©
//1. μμ μΆκ°νκΈ°
set.add("μ¬κ³Ό");
set.add("λΈκΈ°");
set.add("λ°λλ");
//2. μμ κ°μ
System.out.println(set.size());
//3. λ€ν
System.out.println(set);
//4. μ€λ³΅λ κ° μΆκ°νκΈ°
boolean result = set.add("μ¬κ³Ό"); //μλ€μ΄κ°(κΈ°μ‘΄μ μ¬κ³Όκ° μμ΄μ..)
System.out.println(result);
System.out.println(set);
//5. κ²μ
System.out.println(set.contains("μ¬κ³Ό"));
//6. μμ
set.remove("μ¬κ³Ό");
System.out.println(set);
//7. μμ μ½κΈ° > only νμ ν΅ν΄μ
for (String item : set) { //forλ¬Έ μμν λ μ΄ν°λ μ΄ν°λ₯Ό μμ±νλ€.
System.out.println(item);
}
System.out.println();
System.out.println();
μ΄ν°λ μ΄ν°(Iterator)
//μμ ν₯μλ forλ¬Έμ νμ > μλ³Έ
//μ΄ν°λ μ΄ν° > λ°μ΄ν° μ§ν©μ νμνλ λꡬ > νμκΈ°
//***** λκΉμ§ μ½κ³ λλ©΄ λ€μ μ½μ μ μλ€.
Iterator<String> iter = set.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
iter = set.iterator(); //μ΄ν°λ μ΄ν°λ₯Ό λ€μ μμ±νλ©΄ νμ΄νλ μ²μμμ λ€μ μμ
System.out.println(iter.next());
System.out.println(iter.hasNext());