자바의 HashMap은 키-값 쌍을 저장하는 데 사용되는 자료구조입니다. 각 키는 유일해야 하며, 해당 키에 연결된 값에 접근하고 수정하는 데 사용됩니다. HashMap은 해시 테이블을 기반으로 구현되어 효율적인 검색과 삽입을 제공합니다.
다음은 간단한 예제와 함께 HashMap을 설명하겠습니다. 이 예제에서는 학생의 이름을 키로 사용하고, 해당 학생의 점수를 값으로 사용하는 HashMap을 생성하고 조작하는 방법을 보여줍니다.
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
// HashMap 생성
HashMap<String, Integer> scores = new HashMap<>();
// 학생 이름과 점수 추가
scores.put("John", 90);
scores.put("Emily", 95);
scores.put("Michael", 85);
// 학생 이름을 키로 사용하여 점수 조회
int johnScore = scores.get("John");
System.out.println("John의 점수: " + johnScore);
// 학생 이름을 키로 사용하여 점수 수정
scores.put("John", 88);
johnScore = scores.get("John");
System.out.println("John의 수정된 점수: " + johnScore);
// 모든 키-값 쌍 출력
for (String name : scores.keySet()) {
int score = scores.get(name);
System.out.println(name + ": " + score);
}
// 특정 키의 존재 여부 확인
boolean hasEmily = scores.containsKey("Emily");
System.out.println("Emily이 HashMap에 포함되어 있는가? " + hasEmily);
// 특정 값의 존재 여부 확인
boolean hasScore95 = scores.containsValue(95);
System.out.println("점수 95가 HashMap에 포함되어 있는가? " + hasScore95);
// 특정 키 제거
scores.remove("Michael");
System.out.println("Michael의 점수 정보 제거");
// HashMap의 크기 출력
System.out.println("HashMap의 크기: " + scores.size());
}
}
위 예제에서는 HashMap을 사용하여 학생들의 점수를 저장하고 관리합니다. HashMap<String, Integer>은 키로 문자열을, 값으로 정수를 가지는 HashMap을 생성하는 것을 의미합니다.
먼저 scores.put(key, value)를 사용하여 각 학생의 이름과 점수를 추가합니다. 그런 다음 scores.get(key)를 사용하여 특정 학생의 점수를 조회하거나 수정할 수 있습니다. scores.remove(key)를 사용하여 특정 학생의 정보를 제거할 수도 있습니다.
scores.keySet()은 HashMap에 저장된 모든 키를 가져옵니다. 이를 활용하여 scores.get(name)을 호출하여 각 학생의 점수를 출력합니다.
또한 scores.containsKey(key)와 scores.containsValue(value)를 사용하여 특정 키 또는 값의 존재 여부를 확인할 수 있습니다.
마지막으로 scores.size()를 사용하여 HashMap의 크기를 조회할 수 있습니다.
이것은 HashMap의 간단한 예제이며, 더 많은 기능과 메서드가 HashMap 클래스에서 제공됩니다. 자바 문서에서 HashMap에 대한 자세한 정보를 확인할 수 있습니다.