✔️ HashMap
1. 특징
- Array 장점 + List 장점 => 유연하면서도 빠르게 값을 찾아낼 수 있는 자료구조
- key와 value 쌍으로 이루어짐
2. 종류별 시간복잡도
종류 | get() | containsKey() | next() |
---|
HashMap | O(1) | O(1) | O(h/n) |
LinkedHashMap | O(1) | O(1) | O(1) |
IdentityHashMap | O(1) | O(1) | O(h/n) |
WeakHashMap | O(1) | O(1) | O(h/n) |
EnumMap | O(1) | O(1) | O(1) |
TreeMap | O(log n) | O(log n) | O(log n) |
ConcurrentHashMap | O(1) | O(1) | O(h/n) |
ConcurrentSkipListMap | O(log n) | O(log n) | O(1) |
import java.util.HashMap;
public class practiceMap {
public static void main(String[] args) {
HashMap<String, Integer> map1 = new HashMap<>();
map1.put("A", 1);
map1.put("B", 2);
map1.put("C", 3);
System.out.println(map1);
Map<String, Integer> map2 = new HashMap<>();
map2.put("D", 4);
map2.put("E", 5);
map2.put("F", 6);
System.out.println(map2);
map1.putAll(map2);
System.out.println(map1);
map1.remove("C");
System.out.println(map1);
System.out.println(map1.size());
System.out.println(map1.values());
System.out.println(map1.isEmpty());
System.out.println(map1.get("A"));
System.out.println(map1.getOrDefault("Z", 0));
map1.clear();
System.out.println(map1);
Map<String, Integer> newMap = new HashMap<>();
newMap.put("X", 1);
newMap.put("Y", 2);
newMap.put("Z", 3);
System.out.println(newMap.keySet());
for(Map.Entry<String, Integer> entry : newMap.entrySet()) {
System.out.print(entry.getKey() + ":" + entry.getValue() + " ");
}
}
}