Android SparseArray的用法

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

你可能感兴趣的:(android,SparseArra)