개발/JAVA

[JAVA] HashMap

Eun 2022. 1. 7. 14:22

HashMap

  • HashMap은 Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있다.
  • hasing 기법을 사용하기 때문에 많은 양의 데이터가 저장될 때 유용하고 검색에 최고성능을 보인다.

Map

  • Map은 키와 값을 저장하는 구조를 가지고 있는 자료구조이다.
  • 키와 값은 모두 객체이다.
  • 값은 중복 저장될 수 있지만 키는 중복 저장될 수 없다.
  • 만약, 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치된다.

HashMap 선언

HashMap<String, String> hm = new HashMap<>();

HashMap 값 추가

HashMap<String, String> hm = new HashMap<>();

hm.put("과일", "사과");
hm.put("가구", "냉장고");

HashMap에 선언했던 타입과 같은 타입의 key, value 값을 넣어줘야한다.

만약, key값이 HashMap에 존재하면 기존의 값을 사라지고 새로 입력 받은 값으로 대치된다.

HaspMap 값 삭제

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

hm.put(1,"사과");
hm.put(2,"포도");
hm.put(3,"바나나");

hm.remove(1); 	// key값 1 삭제
hm.clear();		// 모든 값 제거

HashMap 값 출력

값을 출력하는데 entryset(), keyset(),Iterator 방법이 있다.

 

1. Entryset()을 이용한 for문

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

2. keyset()을 이용한 for문

for(Integer i : hm.keySet()){
	System.out.prinltn("key:"+i+"value"+hm.get(i));
}

3. Iterator 사용한 while문

Iterator<Entry<Integer, String>> entries=hm.entryset().iterator();

while(entries.hasNext()){
	Map.Entry<Integer, String> entry = entries.next();
    System.out.println("key:"+entry.getKey()+"value:"+entry.getValue());
}

 


참고

https://coding-factory.tistory.com/556

 

[Java] 자바 HashMap 사용법 & 예제 총정리

HashMap 이란? HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있습니다. Map은 키와 값으로 구성된 Entry객체를 저장하는

coding-factory.tistory.com