Inflearn brand logo image

인프런 커뮤니티 질문&답변

kimoon Hong님의 프로필 이미지
kimoon Hong

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

검증 직접 처리 - 개발

수업을 들으면서 궁금한점 HashMap

작성

·

107

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
강의 내용은 아닌데, 수업을 들으면서 궁금한 부분이 있습니다. HashMap은 일반적으로 언제 사용하고 적용하나요?

답변 1

0

안녕하세요. kimoon Hong님, 공식 서포터즈 David입니다.

HashMap은 Key-Value 쌍을 저장하고, 키를 사용해 값에 빠르게 접근해야 할 때 사용하는 자료구조입니다. 다음과 같은 경우에 특히 유용합니다

1. 빠른 검색이 필요할 때

  • O(1) 시간 복잡도로 데이터를 검색할 수 있습니다(이론적으로, 해시 충돌이 없을 경우).

  • 예: 사용자 ID로 프로필 정보를 검색.

2. Key를 기준으로 데이터 매핑이 필요할 때

  • 데이터를 특정 키에 매핑하여 관리해야 할 때 유용합니다.

  • 예: 사전(단어 → 뜻), 캐시(요청 → 결과).

3. 중복된 Key를 허용하지 않을 때

  • HashMap중복 키를 허용하지 않으므로, 유일한 키로 데이터를 관리해야 할 때 적합합니다.

  • 예: 상품 코드(키)와 재고 수량(값)을 관리할 때.

4. 삽입, 삭제, 검색 성능이 중요할 때

  • 삽입, 삭제, 검색 모두 평균적으로 **O(1)**에 가까운 성능을 제공하므로, 성능이 중요한 프로그램에 적합합니다.

  • 예: 세션 데이터 저장.

감사합니다.

kimoon Hong님의 프로필 이미지
kimoon Hong

작성한 질문수

질문하기