Android SparseArray的用法
原创
©著作权归作者所有:来自51CTO博客作者wx58763b21ae3ed的原创作品,请联系作者获取转载授权,否则将追究法律责任
网上很多都是讲SparseArray的原理,却没有讲它的用法
现在我举个例子给大家,相信大家一看就明白如何使用了
public class FightLine {
private int mLineNum;
// 存放一行里的僵尸
private List<ZombiesSprite> mZombiesSprites;
//
//private Map<Integer, PlantSprite> mPlants = new HashMap<Integer, PlantSprite>();
//初始化
private SparseArray<PlantSprite> mPlants = new SparseArray<PlantSprite>();
public FightLine(int lineNumber) {
this.mLineNum = lineNumber;
this.mZombiesSprites = new ArrayList<ZombiesSprite>();
}
public void addZombieSprite(ZombiesSprite sprite){
this.mZombiesSprites.add(sprite);
}
public int getLineNum(){
return mLineNum;
}
/**
* 把植物存入集合按列号
* @param key 列号
* @param value 植物
*/
public void addPlantSprite(Integer key, PlantSprite value){
mPlants.put(key, value);
}
/**
* 把植物存入集合按列号
* @param key 列号
* @param value 植物
*/
public void addPlantSprite(PlantSprite value){
mPlants.put(value.getRow(), value);
}
/**
* 根据列获得植物
* @param key
* @return
*/
public PlantSprite getPlantArray(Integer key){
return mPlants.get(key);
}
/**
* 是否包含一列,判断是否有植物
* @param row
* @return
*/
public boolean containsRow(int row){
return mPlants.indexOfKey(row) != -1;
}
}