해시 테이블은 해시 함수와 배열을 같이 사용하는 자료 구조이다. key를 바로 인덱스로 사용하지 않고 해시 함수에 넣어서 리턴된 값을 인덱스로 사용하고 한 인덱스에 key와 value를 모두 저장한다. 저장한 데이터를 가지고 올 때도 해시 함수를 통해 리턴된 값으로 인덱스에 접근한다.
정리하면 해시 테이블은 아래와 같은 특징을 가지는 자료 구조이다.
특정 값을 원하는 범위의 자연수로 바꿔주는 함수이다. 해시 함수를 이용하면 키가 아무리 커도 항상 원하는 범위 사이의 자연수로 바꿀 수 있다. 조금 더 구체적인 조건을 살펴보면 아래와 같다.