hayu's 개발 일지

99클럽 코테 스터디 11일차 TIL + HashMap 본문

자료구조&알고리즘

99클럽 코테 스터디 11일차 TIL + HashMap

hayu00 2024. 5. 31. 21:47

학습 키워드

- HashMap

 

공부한 내용

HashMap

  • HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다.
  • Map 인터페이스를 상속하고 있기 때문에 Map의 특징을 가지고 있다.
  • HashMap은 데이터를 저장할 때 키(Key)와 값(Value)이 짝을 이루어 저장된다. (여기서 키와 값은 모두 객체이다.)
  • 데이터를 저장할 때는 키(Key)로 해시함수를 실행한 결과를 통해 저장위치를 결정한다.

⇒ HashMap은 특정 데이터의 저장위치를 해시함수를 통해 바로 알 수 있기 때문에 데이터의 추가, 삭제, 특히 검색이 빠르다.

  • HashMap은 키(Key)값을 통해서만 검색이 가능하며, HashMap의 키(Key)는 중복될 수 없고, 값(Value)은 키(Key)가 다르다면 중복이 가능하다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체된다.

Map과 HashMap의 차이

  • 키와 값의 쌍으로 데이터를 저장하는 구조를 사용한다. 이러한 구조를 표현하는 인터페이스가 바로 Map이다.

Map 인터페이스

  • Map은 자바에서 키(key)와 값(value)을 저장하는 데이터 구조를 표현하는 인터페이스이다.
  • 키와 값의 쌍을 "매핑(mapping)"이라고 한다.
  • Map 인터페이스는 여러 구현체가 있으며, 그 중 하나가 HashMap이다. 다른 Map 인터페이스의 구현체로는 TreeMap, LinkedHashMap 등이 있다.

HashMap 클래스

  • HashMap은 Map 인터페이스를 구현한 클래스로, 해시 테이블을 사용하여 키와 값을 저장한다.
  • 키와 값은 둘 다 null일 수 있으며, HashMap은 키의 중복을 허용하지 않지만 값의 중복은 허용한다.
  • HashMap은 삽입 순서를 유지하지 않으며, 대신 해시 함수에 의해 결정되는 순서대로 요소를 저장한다.

⇒ Map은 인터페이스고 HashMap은 그 구현체이다.

⇒ Map 인터페이스는 키와 값 쌍으로 데이터를 저장하는 구조를 표현하며, HashMap은 이를 구현한 클래스이다.

 

회고

발생한 문제

- 코딩 문제를 풀다가 HashMap에 대한 공부가 부족하다는 사실을 알게 되었다.

 

해결 방법

- HashMap에 대한 공부를 하고 정리했다. 그러나 메서드에 대한 공부가 부족하다고 생각된다. HashMap의 메서드 공부도 해야겠다.

 

알게된 내용

- HashMap의 값은 중복을 허용한다. 

- HashMap은 데이터의 추가, 삭제, 특히 검색이 빠르다.