1. Sparse数组
SparseBooleanArray : HashMap<Integer,Boolean>
SparseLongArray : HashMap<Integer, Long>
SparseIntArray : HashMap<Integer,Integer>
SparseArray<E> : HashMap<Integer,E>
LongSparseArray<E> : HashMap<Long, E>
使用:
实例化:SparseArray<E> array = new SparseArray<E>();
添加:array.put(key,value);
获取:array.get(key);
删除:array.delete(key);
清空:array.clear();
复制:array.clone();
遍历:for(int i=0; i<array.size(); i+){ do something... }
与HashMap的比较:
优势:内存消耗比HashMap小,key和value可以是基本变量,不需要自动装箱
劣势:key不能为对象类型,速度稍慢于HashMap
2. ArrayMap
ArrayMap与HashMap同样实现了Map接口,使用方法基本相同,但内存的使用方式与SparseArray类似。
ArrayMap的key可以为对象,但key和value不可以为基本数据类型