Java HashMap Methods
자바에서의 HashMap 메서드 (Java HashMap Methods)
- *
HashMap
*은 자바의 **키-값 쌍(key-value pair)**을 저장하는 자료구조입니다.HashMap
은 해시 테이블을 기반으로 하며, 빠른 검색, 삽입, 삭제 작업을 제공하는 데이터 구조입니다.HashMap
은
클래스에 속하며, Map 인터페이스를 구현하고 있습니다. 각 키는 고유해야 하며, 키를 사용하여 값에 빠르게 접근할 수 있습니다..util.HashMap
HashMap 생성
HashMap
은 new
키워드를 사용해 생성하며, 제네릭을 사용해 키와 값의 데이터 타입을 지정할 수 있습니다.
HashMap 생성 예시
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 키가 String, 값이 Integer인 HashMap 생성
HashMap<String, Integer> map = new HashMap<>();
// 키가 Integer, 값이 String인 HashMap 생성
HashMap<Integer, String> map2 = new HashMap<>();
}
}
설명:
HashMap<String, Integer>
: 문자열을 키로, 정수를 값으로 저장하는HashMap
입니다.HashMap<Integer, String>
: 정수를 키로, 문자열을 값으로 저장하는HashMap
입니다.
주요 HashMap
메서드
1. put()
: 키-값 쌍 추가
put()
메서드는 HashMap
에 새로운 키-값 쌍을 추가하거나, 기존 키가
있으면 해당 키의 값을 덮어씁니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
// 키-값 쌍 추가
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Orange", 3);
System.out.println(map); // 출력: {Apple=1, Banana=2, Orange=3}
}
}
2. get()
: 키에 해당하는 값 가져오기
get()
메서드는 HashMap
에서 특정 키에 해당하는 값을 반환합니다. 만약
해당 키가 없으면 **null
**을 반환합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 키에 해당하는 값 가져오기
int value = map.get("Apple");
System.out.println(value); // 출력: 1
// 없는 키를 조회할 경우 null 반환
System.out.println(map.get("Orange")); // 출력: null
}
}
3. remove()
: 특정 키-값 쌍 제거
remove()
메서드는 HashMap
에서 특정 키에 해당하는 키-값 쌍을
제거합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Orange", 3);
// 키에 해당하는 키-값 쌍 제거
map.remove("Banana");
System.out.println(map); // 출력: {Apple=1, Orange=3}
}
}
4. size()
: HashMap의 크기 반환
size()
메서드는 HashMap
에 저장된 키-값 쌍의 개수를 반환합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// HashMap의 크기 출력
System.out.println(map.size()); // 출력: 2
}
}
5. containsKey()
: 특정 키 포함 여부 확인
containsKey()
메서드는 HashMap
에 특정 키가 존재하는지 여부를 확인합니다. 존재하면
true
, 그렇지 않으면 false
를 반환합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 특정 키가 있는지 확인
System.out.println(map.containsKey("Apple")); // 출력: true
System.out.println(map.containsKey("Orange")); // 출력: false
}
}
6. containsValue()
: 특정 값 포함 여부 확인
containsValue()
메서드는 HashMap
에 특정 값이 존재하는지 여부를 확인합니다. 존재하면
true
, 그렇지 않으면 false
를 반환합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 특정 값이 있는지 확인
System.out.println(map.containsValue(1)); // 출력: true
System.out.println(map.containsValue(3)); // 출력: false
}
}
7. isEmpty()
: HashMap이 비어있는지 확인
isEmpty()
메서드는 HashMap
이 비어있는지 여부를 확인합니다. 비어 있으면
true
, 그렇지 않으면 false
를 반환합니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
// HashMap이 비어있는지 확인
System.out.println(map.isEmpty()); // 출력: true
map.put("Apple", 1);
System.out.println(map.isEmpty()); // 출력: false
}
}
8. clear()
: 모든 키-값 쌍 제거
clear()
메서드는 HashMap
의 모든 키-값 쌍을 제거하여 빈 맵으로 만듭니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 모든 키-값 쌍 제거
map.clear();
System.out.println(map); // 출력: {}
}
}
9. putAll()
: 다른 맵의 모든 키-값 쌍 추가
putAll()
메서드는 다른 맵의 모든 키-값 쌍을 추가하여, 기존의 HashMap
에 병합할 수 있습니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map1 = new HashMap<>();
map1.put("Apple", 1);
map1.put("Banana", 2);
HashMap<String, Integer> map2 = new HashMap<>();
map2.put("Orange", 3);
map2.put("Grapes", 4);
// map2의 모든 키-값 쌍을 map1에 추가
map1.putAll(map2);
System.out.println(map1); // 출력: {Apple=1, Banana=2, Orange=3, Grapes=4}
}
}
10. keySet()
: 모든 키 반환
keySet()
메서드는 HashMap
에 있는 모든 키를 **Set
**으로 반환합니다.
import java.util.HashMap;
import java.util.Set;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 모든 키 가져오기
Set<String> keys = map.keySet();
System.out.println(keys); // 출력: [Apple, Banana]
}
}
11. values()
: 모든 값 반환
values()
메서드는 HashMap
에 있는 모든 값을 **Collection
**으로
반환합니다.
import java.util.Collection;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 모든 값 가져오기
Collection<Integer> values = map.values();
System.out.println(values); // 출력: [1, 2]
}
}
12. entrySet()
: 모든 키-값 쌍 반환
entrySet()
메서드는 HashMap
에 있는 모든 키-값 쌍을 **Set
**으로
반환합니다. 각 키-값 쌍은 Map.Entry
객체로 표현됩니다.
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 모든 키-값 쌍 가져오기
Set<Map.Entry<String, Integer>> entries = map.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
System.out.println("키: " + entry.getKey() + ", 값: " + entry.getValue());
}
}
}
출력:
키: Apple, 값: 1
키: Banana, 값: 2
13. replace()
: 특정 키의 값 변경
replace()
메서드는 특정 키의 값을 새로운 값으로 대체합니다. 키가 존재할 때만 값이 변경됩니다.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
// 특정 키의 값 변경
map.replace("Banana", 5);
System.out.println(map); // 출력: {Apple=1, Banana=5}
}
}
요약
자바의 **HashMap
**은 키-값 쌍을 저장하고 빠른 조회를 제공하는 자료구조입니다. 주요 메서드는
다음과 같습니다:
put()
: 키-값 쌍 추가get()
: 특정 키에 해당하는 값 가져오기remove()
: 특정 키-값 쌍 제거size()
: 맵의 크기 반환containsKey()
,containsValue()
: 특정 키 또는 값이 존재하는지 확인keySet()
,values()
,entrySet()
: 모든 키, 값, 키-값 쌍 반환replace()
: 특정 키의 값 변경
이러한 메서드를 활용하여 HashMap
을 효율적으로 관리하고 사용할 수 있습니다. HashMap
은 특히 검색,
삽입, 삭제 작업이 빈번한 경우 매우 유용한 자료구조입니다.