어제의 나보다 성장한 오늘의 나

[java] HashMap 사용법 및 예제 총정리 본문

java

[java] HashMap 사용법 및 예제 총정리

today_me 2022. 12. 19. 17:48
반응형

 

 

 

자바에서 많이 사용하는 자료 구조인 Hashmap에 대해서 알아보자

map의 주요 특징은 key 와 value를 한 쌍으로 사용한다는 것이다.

map에는 여러 가지가 있는 데 그 중 가장 많이 사용하는 Hashmap을 공부해보도록 하자

 

 

0) 선언

 

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

 

1) 값 넣기 (  put 함수 )

map.put(key , value);

 

예제

map.put(1,"AAA");
map.put(2,"BBB");
map.put(3,"CCC");
map.put(4,"DDD");

 

 

2) 특정 key로 value 얻기 ( get 함수 , getOrDefault 함수 )

 

value = map.get(key);

key가 없으면 null 반환

 

 

key가 없을 때 null 아닌 Default 반환 ( Default는 String으로 아무거나 설정 가능 )

value = map.getOrDefault(key, default);

 

예제

System.out.println( map.get(1));
System.out.println( map.getOrDefault(5, "Nope"));

 

 

3) map의 원소 갯수 확인 ( size 함수 )

 

int size = map.size();

 

4) map의 value 값 바꾸기 ( replace 함수 )

 

map.replace(key , newValue);

 

 

5) map 안에 key / value 가 있는 지 확인 ( containsKey , containsValue 함수 )

 

boolean isKey = map.containsKey(key);

boolean isValue = map.containsValue(value);

 

 

6) map이 비어 있는 지 확인 ( isEmpty 함수 )

 

boolean is = map.isEmpty();

 

 

 

7) 원소 삭제 ( remove 함수 )

 

value = map.remove(key);

 

 

8) Key가 없거나 Value가 null일때만 삽입 ( putIfAbsent 함수 )

 

map.putIfAbsent(key, value);

 

 

9) 모든 Key 가져오기 ( map.keySet 함수 )

 

Set<Integer> keySet = map.keySet();

 

HashMap<Integer ,String> map = new HashMap<>();
        
map.put(1, "AAA");
map.put(2,"BBB");
map.put(3,"CCC");
map.put(4,"DDD");

Set<Integer> set = map.keySet();

System.out.println(set);

for(Integer key : set){
	System.out.println(key);
}
출력

[1, 2, 3, 4]
1
2
3
4

 

 

10) 모든 value 가져오기 ( map.values 함수 )

 

Collection<String> col = map.values();

 

HashMap<Integer ,String> map = new HashMap<>();
        
map.put(1, "AAA");
map.put(2,"BBB");
map.put(3,"CCC");
map.put(4,"DDD");

Collection<String> col = map.values();

System.out.println(col);

for(String key : col){
	System.out.println(key);
}

 

출력

[AAA, BBB, CCC, DDD]
AAA
BBB
CCC
DDD

 

11) 모든 key , value 쌍 가져오기 ( entrySet 함수 )

 

Set< Entry< Integer,String>> set = map.entrySet();

 

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

map.put(1, "AAA");
map.put(2,"BBB");
map.put(3,"CCC");
map.put(4,"DDD");

Set< Entry< Integer,String>> set = map.entrySet();

for(Entry<Integer,String> entry : set){
    System.out.println(entry.getKey() + " " + entry.getValue());
}

 

출력

1 AAA
2 BBB
3 CCC
4 DDD

 

 

반응형

'java' 카테고리의 다른 글

[ Mac OS / Java ] 맥북 자바 버전 변경  (1) 2022.12.26
[java] Stack 클래스 사용법 및 예제 총정리  (0) 2022.12.19
Comments