맵과 해시맵이 무엇이 다를까? 일반적으로 맵을 쓰게 된다면 다음과 같은 상황을 마주하게 된다.
맵타입의 새 인스턴스를 선언 할 때, 구현체로 추천받는 최상단 녀석이 HashMap이다.
해쉬맵이랑 맵이 뭐가 다르길래?
맵은 자바의 Collection 인터페이스를 상속받지 않고, Map 인터페이스로 정의된다.
해쉬맵 클래스는 위와 같이 Map 추상클래스와 인터페이스를 상속받는다.
해시 테이블은 컬렉션 프레임워크가 등장하기 전부터 존재했던 개념이다. 해쉬맵과 마찬가지로
Key:Value 형식으로 이루어지는데, Hashtable이 해쉬맵과 다른 점은 동기화를 지원한다는 것이다. 즉, Thread-safe 하다.
임이의 길이의 값을 입력 받아 고정된 크기의 값으로 변환하는 것.
어? 그러면 Serialize랑 되게 비슷한거 아냐?
아니다.
여기서 주목해야 할 점은 역할!
즉 Hash는 원본 데이터의 식별자! 이며, Serialize는 원본 객체를 파일 형태로 변환하기 위해서 사용한다.