HashMap SparseArray ArrayMap的区别
HashMap的内部存储结构是以哈希表的拉链结构(数组<容量为16>+链表) HashMap中的数据量>容量*加载因子 数据量大百万条是 HashMap 进行遍历多有的数据就会耗内存,而且慢;
SparseArray 内部存储是通过两个数组 采用了压缩式稀疏数组 通过二分查找法 存储元素是以key 值元素从小到大的顺序排列的
数据量小 1000以内的 因为查找 删除 添加每次都是通过二分查找法 进行查找 所以数据量大效果不太明显 而且key固定是int类型 可避免自动装箱;
ArrayMap 和SparseArray差不多原理 但是key是object 类型的 通过key 进行查找 添加 删除通过二分查找法得到index值,用index 进行操作;