HashMap은 키-값 쌍으로 데이터를 저장하는데, Python의 딕셔너리 자료형에 해당한다.
데이터의 순서를 보장하지 않지만, 내부적으로 해시 함수를 사용하기 때문에 삽입/삭제/조회에 대해
시간 복잡도 O(1)의 강력한 성능을 제공한다.
<> 안에는 키 자료형, 값 자료형이 들어간다.
HashMap<String, Integer> map = new HashMap<>();
키-값 쌍을 HashMap에 추가. (key는 중복이 불가하지만, value는 중복이 가능하다)
map.put("java", 100);
키를 통해 값을 반환. 반환된 값은 값 자료형(V)이다.
int value = map.get("java"); // 100
키-값 쌍을 HashMap에서 삭제
map.remove("java");
HashMap에 해당 key가 있는지 여부를 반환
boolean hasKey = map.containsKey("java");
HashMap에 해당 value가 있는지 여부를 반환
boolean hasValue = map.containsValue(100);
HashMap에 키-값 쌍이 몇 개 있는지 반환
int size = map.size();
HashMap의 키 목록을 Set<key자료형(K)>으로 반환.
Set<String> keys = map.keySet();
HashMap의 값 목록을 Collection<value자료형(V)>으로 반환.
Collection<Integer> values = map.values();
7번의 모든 키 / 모든 값을 이용해 순회할 수도 있고 다음의 방법처럼 HashMap의 모든 키-값 쌍을 불러와 처리할 수도 있다.
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
int value = entry.getValue();
}