HashMap은 Java 컬렉션 프레임워크에서 제공하는 자료구조 중 하나로, 키(key)와 값(value)의 쌍으로 데이터를 저장하고 관리하는 맵(Map) 구현체이다. 각 키는 중복되지 않으며, 키를 통해 해당 값을 검색하거나 수정할 수 있다.
HashMap의 주요 특징과 사용 방법
빠른 검색 및 삽입 : HashMap은 해시 함수를 사용하여 키와 값의 매핑을 저장하므로 키를 통한 검색과 삽입이 빠르게 이루어진다. 평균적으로 상수 시간( O(1) )에 요소를 검색하거나 삽입할 수 있다.
키-값 쌍 저장 : 각 키는 유일하며, 해당 키에 연결된 값이 매핑된다. 키를 통해 값을 검색하거나 수정할 수 있다.
Null 허용
순서 보장하지 않음 : HashMap은 요소들의 순서를 보장하지 않는다. 순서가 중요한 경우에는 LinkedHashMap을 사용
// HashMap 생성
HashMap<String, Integer> hashMap = new HashMap<>();
// 데이터 추가
hashMap.put("apple", 100);
hashMap.put("banana", 150);
//추가 또는 업데이트된 값의 이전 값이 반환, 없으면 null 반환
// 데이터 조회
int appleValue = hashMap.get("apple");
// 데이터 수정
hashMap.put("apple", 120);
// 데이터 삭제
hashMap.remove("banana");
// 모든 키 순회
for (String key : hashMap.keySet()) {
int value = hashMap.get(key);
HashMap 출력하기
HashMap<KeyType, ValueType> hashMap = new HashMap<>();
// HashMap에 요소들 추가
for (KeyType key : hashMap.keySet()) {
ValueType value = hashMap.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
HashMap<KeyType, ValueType> hashMap = new HashMap<>();
// HashMap에 요소들 추가
Iterator<Map.Entry<KeyType, ValueType>> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<KeyType, ValueType> entry = iterator.next();
KeyType key = entry.getKey();
ValueType value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
HashMap<KeyType, ValueType> hashMap = new HashMap<>();
// HashMap에 요소들 추가
hashMap.forEach((key, value) ->
System.out.println("Key: " + key + ", Value: " + value));
출처 openAI