본문 바로가기

Language/Java

[Java] HashMap 개념 및 주요 메서드 정리

HashMap이란?!

Map 인터페이스를 구현한 함수로 key, value 형태로 저장하는 구조를 가지고 있는 자료구조이다.

value는 중복 저장이 될 수 있지만, key는 중복 저장이 될 수 없기 때문에 같은 key로 저장한다면

기존의 value 값은 사라지고 새로운 값으로 덮어씌워 지게 된다고 보면 된다.

 

또한 HashMap은 이름 그대로 해싱을 사용하기 때문에 많은 양의 데이터 검색에도 뛰어난 성능을 보여준다.

 

HahMap 생성 코드

HashMap<Stirng,String> ex = new HashMap<String, Stirng>();

 

 

HashMap 주요 메서드

 

1. put (값 저장)

HashMap<Integer,String> ex = new HashMap<>();
ex.put(1,"치킨");
ex.put(2,"햄버거");
...
  • HashMap으로 값을 추가할 경우에는 key, value 값에 설정한 타입과 동일해야 한다.

2. get, keySet, values, entrySet (값 꺼내기)

System.out.println(map.get(1));
System.out.println(map.get(2));
  • get() : put() 메서드로 저장한 key 값으로 꺼내올 수 있다. 출력은 치킨, 햄버거!
for(String key : ex.keySet){
	System.out.println(ex.get(key));
}
  • keySet() : Map에서 key 값만 가져올 때 사용하며 여러 값이기 때문에 for문으로 출력!
for(String value : ex.values()){
	System.out.println(ex.get(value));
}
  • values() : Map에서 value 값만 가져올 때 사용하며 여러 값이기 때문에 for문으로 출력!
for(ex.Entry<Integer,String> et : ex.entrySet()){
	System.out.println(entry);
}
  • entrySet() : key, value 전부 가져올 때 사용하며 여러 값이기 때문에 for문으로 출력!

3. containskey & containsValue (ket, value 값의 존재 여부)

System.out.println(ex.containsKey(1));
Syetem.out.println(ex.containsValue("치킨"));
  • put() 메서드로 저장된 key, value 값들로 HashMap 안에 해당 ket, value 값의 존재 여부 확인할 수 있다.
  • 만약에 있으면 true, 없으면 flase로 출력하게 된다.

4. replace (value 값 변경)

System.out.println(ex.replace(1,"치킨","스파게티"));
System.out.pringtln(ex.replace(2,"햄버거","피자"));
  • put() 메소드로 저장된 value 값을 변경할 수 있으며 (key, 기존 value, 변경할 value)로 입력하면 된다.
  • 위 코드에서는 1의 값이 치킨 > 스파게티로, 2의 값이 햄버거 > 피자로 변경이 된다.

5. remove, clear (값 삭제)

ex.remove(1);
ex.clear();
  • remove는 해당 키값만 삭제하지만, clear는 ex라는 map의 값을 전부 삭제한다.