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采用二分法查找。