오늘은 androidx.collection에 있는 ScatterMap에 대해 알아보겠다.
안드로이드에서 제공하는 데이터 컨테이너들은 대개 메모리 최적화되어있는데 ScatterMap도 그 목적에 맞다.
이 모듈은 flat hash table 기반으로 이루어져있어 HashMap보다 메모리 사용량이 적고 캐시 히트율이 높다고 한다.
androidx.collection이 multiplatform 타겟으로 되어서 pure java 모듈에서도 사용이 가능하다.
대개 도메인 모듈의 경우 pure java 모듈로 구성하기 마련인데, 기존에 Map을 사용하던 부분을 ScatterMap으로 바꾸어서 메모리 사용량을 비교해보면 좋을 듯 하다..
이런 ScatterMap은 범용적인 Object에서 사용되도록 디자인되었으며 Primitive 타입을 키값으로 사용할 경우 Boxing이 필요한 부분이 있다. 박싱도 하지 않게 하기 위한 primitive 타입 전용 데이터 컨테이너도 있다. 그 부분은 추가로 알아보겠다..