본문 바로가기
개발/Java

[Java] Java 에서 HashMap이란 무엇인가? 사용법도 알아보자!

by 쓸있쏜 2023. 5. 10.

해시맵은 컴퓨터 프로그래밍, 특히 Java 프로그래밍 언어에서 일반적으로 사용되는 데이터 구조입니다. 키-값 쌍을 효율적으로 저장하고 검색하는 데 사용됩니다. 해시맵은 본질적으로 버킷의 배열이며 각 버킷에는 키-값 쌍의 연결된 목록이 포함됩니다.


Java 해시맵 구현은 해시 함수를 사용하여 각 키를 배열의 특정 인덱스에 매핑합니다. 해시 함수는 키를 입력으로 사용하고 배열의 인덱스로 사용되는 정수를 반환합니다. 이를 통해 키-값 쌍을 빠르게 삽입하고 검색할 수 있습니다.


Java에서 해시맵을 사용하는 방법의 예를 살펴보겠습니다. 학생 목록과 해당 성적이 있고 이 정보를 해시맵에 저장하려고 한다고 가정합니다.

 

먼저 해시맵 객체를 생성해야 합니다.

HashMap<String, Integer> grades = new HashMap<>();

이렇게 하면 키가 문자열(학생 이름)이고 값이 정수(성적)인 키-값 쌍을 저장하는 새로운 해시맵 객체가 생성됩니다.


다음으로 put() 메서드를 사용하여 해시맵에 항목을 추가할 수 있습니다.

grades.put("Alice", 90);
grades.put("Bob", 85);
grades.put("Charlie", 95);

그러면 해시맵에 90점의 앨리스, 85점의 밥, 95점의 찰리의 세 항목이 추가됩니다.


get() 메서드를 사용하여 해시맵에서 값을 검색할 수 있습니다.

int aliceGrade = grades.get("Alice");

이렇게 하면 해시맵에서 Alice의 등급을 검색하여 'aliceGrade' 변수에 저장합니다.


containsKey() 메서드를 사용하여 해시맵에 키가 있는지 확인할 수도 있습니다.

if (grades.containsKey("David")) {
    // do something
}

이것은 "David" 키가 해시맵에 존재하는지 확인하고 존재하는 경우 if 문 내부의 코드를 실행합니다.


마지막으로 for-each 루프를 사용하여 해시맵의 키-값 쌍을 반복할 수 있습니다.

for (Map.Entry<String, Integer> entry : grades.entrySet()) {
    String student = entry.getKey();
    int grade = entry.getValue();
    System.out.println(student + ": " + grade);
}

그러면 각 학생의 이름과 학년이 인쇄됩니다.


요약하면 해시맵은 키-값 쌍을 효율적으로 저장하고 검색하기 위한 강력한 데이터 구조입니다. Java 프로그래밍에서 일반적으로 사용되며 사용 방법을 이해하는 것은 모든 Java 개발자에게 중요한 기술입니다.

 

자, 이제 HashMap을 이용하여 쉽게 데이터 처리를 해봅시다.

댓글