필자는 파이썬으로 개발자의 세계에 들어섰기 때문에 다른 언어를 배울 때 파이썬이 기준점이 되는 경우가 많다.
파이썬의 딕셔너리와 거의 같은 역할을 하는 클래스가 바로 자바의 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
'Dev > java' 카테고리의 다른 글
[thymeleaf] 이미지 태그 소스 정의하는 방법 (0) | 2024.06.12 |
---|---|
[java] 구글 이메일 전송 코드에서 535-5.7.8 Username and Password not accepted 에러 대처 방법 (0) | 2024.06.11 |
[thymeleaf] css 링크거는 방법 (0) | 2024.06.08 |
[java] 파이썬의 list와 가장 비슷한 역할을 하는 ArrayList 클래스 (0) | 2024.02.01 |
[java] String 문자열의 일부 자르기, substring() 메서드 (0) | 2024.01.17 |
[java] 사용자 입력 받기 - 문자열, 정수, 실수 (0) | 2024.01.01 |
[java] 콘솔에 출력할 때 개행하지 않기, System.out.print("문자열") (0) | 2023.12.28 |
[java] 자바 연산자 정리 (0) | 2023.12.27 |