Great effort. No doubt, but in your comparison you compared the ArrayMap, hashMap and SparseArray in unit of bytes, so you get that significant difference. try to convert those numbers to be in unit of megabytes (which is more realistic if we talk about mobile hardware), you will see the difference between HashMap and ArrayMap is merely 0.02 MB which is totally ignorable and doesn't relate to Mobile hardware nowadays in any way even for low-budget phones