해시 테이블은 연관배열 구조를 이용하여 키(key)에 결과 값(value)을 저장하는 자료구조이다.
🤔 그러면 해시(Hash)의 정확한 의미가 무엇인가요?
해시란 단방향 암호화 기법으로 해시 함수를 이용하여 고정된 길이의 암호화된 문자열로 만들어 내는 것 이다.
즉, 매핑 전 원래 데이터의 값을 key, 매핑 후 데이터의 값을 hash value, 매핑하는 과정을 hashing 이라고 부르며 이러한 과정을 통해 데이터를 저장한다.
key를 hash로 만들어주는데, 다양한 길이를 가지고 있는 key를 일정한 길이를 가지는 hash로 변경한다.
또한, 해시 함수는 입력값의 길이가 어떻든 고정된 길이의 값을 출력하기 때문에 입력값이 다르더라도 같은 결과값이 나오는 경우가 있다.
이를 해시 충돌(Hash Collision)이라고 한다.
HashMap<Integer,String> map = new HashMap<>();
map.put(1, "ManCity");
map.put(2, "LeicesterCity");
map.put(3, "ManUtd");
HashMap을 생성하여 사용
Dog = {
'name': '개발자',
'pnum': 010-1234-5678,
'email': '1234@naver.com',
}
특정 key-value쌍을 가진 dictionary 선언을 하여 사용할 수 있다.