시작하기 전에..HashMap은 삽입과 조회를 모두 O(1)의 시간에 제공해줍니다.이러한 특성 때문에 HashMap은 가장 자주 사용되는 자료구조 중 하나인 것 같습니다.HashMap은 어떤 방법으로 이러한 시간복잡도를 제공해주는지 이해하고 싶어 내부 구조를 파헤쳐 봤습니다. 아래 내용은 HashMap의 내부 구조를 파헤치면서 배운 점과 고민했던 생각을 정리한 글입니다.'Java를 설계한 사람들이 왜 이렇게 만들었을까?'에 대한 제 대답이 많이 들어있습니다.공식적인 내용이 아니거나 잘못된 내용이 있을 수도 있다는 점에 유의해 주세요. 목차HashMap의 핵심 아이디어에 대해서hash collision이 발생하면 어떤 일이 생길까?HashMap의 loadFactor에 대해서31이라는 매직 넘버는 왜 이렇게..