공통점
- 데이터를 key-value 쌍으로 저장한다.
- 비동기로 처리된다.
Key
- 중복을 허용하지 않는다.
- 하나의 null 값을 저장할 수 있다.
Value
- 중복을 허용한다.
- 여러 개의 null 값을 저장할 수 있다.
차이점
HashMap
- 데이터의 삽입 순서를 보장하지 않는다.
- AbstractMap 클래스를 상속하고, Map 인터페이스를 구현한다.
LinkedHashMap
- 데이터의 삽입 순서를 보장한다.
- HashMap 클래스를 상속하고, Map 인터페이스를 구현한다.
성능
Create
- HashMap < LinkedHashMap (오래 걸림)
Iterate
- (오래 걸림) HashMap > LinkedHashMap
Access
- (오래 걸림) HashMap > LinkedHashMap
결론
- HashMap보다 LinkedHashMap의 성능이 약간 더 우세하지만, 전체적인 성능에는 큰 차이가 없다.
- HashMap은 순서를 보장하지 않아도 될 때, LinkedHashMap은 순서를 보장해야 될 때 사용한다.