이걸 왜 공부하게 되었는가?
동아리 홈페이지를 만들면서 투표기능 구현을 위해 고민을 하던중
Vote버튼을 누르면 프론트에서 DB에 저장되어있던 투표들을 서버에게 받아와서
투표의 제목들을 화면에 렌더링 하는 방식으로 진행 할 예정이다.
그런데 여기서 문제는 화면에 렌더링을 한다고 해서 사용자가 해당하는 투표를 눌렀을때
DB에 어떤 투표를 사용자가 눌렀는지 넘버링이 필요하다고 생각했다.
그리하여 Map을 이용하여 해당하는 투표의 넘버를 key로 value는 vote투표 객체를 넣어서
DB에서 꺼낼 에정이다.
그치만 구상을 하던중 Map과 HashMap은 무슨 차이가 있어서 이렇게 나누었는지 궁금해져서
이렇게 블로그 글로 정리하며 공부를 하고 싶었다.
Map이란 무엇인가? HashMap이란 무엇인가?
우선 Map부터 알아보자면 Key와 Value를 가진 집합으로 중복을 허용하지 않는다.
이를 쉽게 이야기하면 한 개의 Key에는 한 개의 Value가 들어있다는 것이다.
그림을 통해 추가적으로 설명을 하자면
내가 1번이라는 key를 통해서 김씨라는 데이터에 접근이 가능한 방식처럼
key를 입력하면 그 안에 저장되어있는 value를 알 수 있다.
그렇다면 HashMap은 ?
해싱 기법을 사용하여 대용량 데이터에서 보다 쉽게 키를 이용해서 찾아낼 수 있다.
그리하여 시간복잡도 빅오(1)로 빠른 데이터 탐색이 가능하다.