LinkedHashMap 은 Linked List 의 특성을 지니는 HashMap 이다.


정확히는 HashMap 구현에 있어 Linked List 를 이용함으로써 키들 간의 순서를 보장해주고, Link 를 연결시켜 준다.


각 노드들은 before, after, next 상태를 저장하는 포인터를 지니고 있는데 각 포인터들은 다음을 가리킨다.


before : 해당 노드가 가진 키 값의 이전 키값을 참조한다. 이 노드 직전에 삽입된 노드를 가리킨다.


after : 해당 노드가 가진 키 값의 다음 키값을 참조한다. 이 노드 직후에 삽입된 노드를 가리킨다.


next : 해당 노드가 가진 키 값 내에서 다음 항목을 참조한다.


각 노드들은 상호 계층적으로 서로를 참조하며 HashMap 과 동일한 연산을 수행하는데 이 때,


put / remove 등 구조를 변경시키는 연산에 대해서 참조 링크를 바꾸어 가면서 기준값을 중심으로 정렬된 Linked List 형태를 유지한다.



좀 더 자세한 구현과 좋은 설명은 다음 링크를 참조하자.


https://medium.com/@mr.anmolsehgal/java-linkedhashmap-internal-implementation-44e2e2893036



+ Recent posts