2024-01-31 22:45:26

필자는 파이썬으로 개발자의 세계에 들어섰기 때문에 다른 언어를 배울 때 파이썬이 기준점이 되는 경우가 많다.

 

파이썬의 딕셔너리와 거의 같은 역할을 하는 클래스가 바로 자바의 HashMap 클래스이다. 

 

HashMap 클래스

HashMap 클래스는 Map 인터페이스의 구현체이다. Map은 키와 값으로 구성된 데이터를 저장할 수 있는 자료구조이다. 값은 중복 저장될 수 있지만 키는 중복될 수 없다. HashMap은 해싱을 사용하기 때문에 데이터를 검색하는데 있어서 뛰어난 성능을 보인다.

 

예제를 통해 어떻게 HashMap 객체를 생성하고 사용하는지 살펴보도록 하자.

 

HashMap<String, String> hashMap = new HashMap<String, String>();

hashMap.put("사과", "apple");
hashMap.put("바나나", "banana");
hashMap.put("체리", "cherry");

System.out.println(hashMap.get("사과")); // apple
System.out.println(hashMap.get("바나나")); // banana

hashMap.remove("체리");
System.out.println(hashMap); // {사과=apple, 바나나=banana}

hashMap.clear();
System.out.println(hashMap); // {}

 

 

위 예제 코드에서 알 수 있듯이, get() 메서드로 키에 해당하는 값을 얻고, put() 메서드로 키-값 쌍을 추가한다. 그리고 remove() 메서드로 로 하나의 엔트리를 삭제하고, clear() 메서드로 모든 엔트리를 삭제한다. 

 

그리고 이렇게 여러 개의 데이터를 담을 수 있는 자료 구조라면 반복문에서 어떻게 활용하는지도 알아두는 것이 좋다. entrySet() 메서드를 사용하면 반복문에서 쉽게 하나씩 엔트리를 꺼내쓸 수 있다.

 

HashMap<String, String> hashMap = new HashMap<String, String>();

hashMap.put("사과", "apple");
hashMap.put("바나나", "banana");
hashMap.put("체리", "cherry");

for (Map.Entry<String, String> entry : hashMap.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

 

 

 

참고자료

[1] https://coding-factory.tistory.com/556  

[2] https://paciencia.tistory.com/119