issues
search
codeegginterviewgroup
/
CodeEggDailyInterview
码个蛋每日面试题
396
stars
54
forks
source link
简单比较 SpareArray 和 HashMap
#144
Open
kukyxs
opened
5 years ago
kukyxs
commented
5 years ago
SpareseArray 也是通过键值对存储数据,只是key为整形int , 类似于key = Interger 的HashMap,但是SpareseArray 的key 为 int 非 Interger ,更省空间。
SpareArray 意为稀松数组,其结构类似于数组结构,依次排开;HashMap是散列列表,根据hash值来存储;因此SpareArray 会比 HashMap节省很多空间。
从查找速度 和 插入效率来看,如果是正序插入( 0 ->size插入),SpareArray 的插入效率会高于 HashMap。
如果是逆序插入(size -> 0)的顺序插入,则SpareArray 的插入效率表现是最差的,会低于HashMap。
SpareArray 在逆序插入效率很低,是因为 每次插入 SpareArray 都会采用二分查找来定位。
从查找速度来来考虑,HashMap的查找速度 会 高于 SparseArray。
通过以上分析,SpareArray 相对于 HashMap的最大优势在内存空间。因此谷歌推荐使用 SpareArray 代替 HashMap