网上很多都是讲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;
}
}