Android12/5 每日一题:简述ArrayMap和Hash

2019-12-05  本文已影响0人  风华正茂的我

答案解析:

1、存储方式不同,HashMap内部有一个HashMapEntry<K, V>[]对象,每一个键值对都存储在这个对象里,当使用put方法添加键值对时,就会new一个HashMapEntry对象;

2、添加数据时扩容时的处理不一样,进行了new操作,重新创建对象,开销很大。ArrayMap用的是copy数据,所以效率相对要高;

3、ArrayMap提供了数组收缩的功能,在clear或remove后,会重新收缩数组,是否空间;

4、ArrayMap采用二分法查找。

上一篇下一篇

猜你喜欢

热点阅读