Samwey—–优雅封装对象池——JTStack

class JTStack implements JTIPoolObject
{

private _valueMap:{[key:number]:V} = null;
private _size:number = 0;

constructor()
{
    this._valueMap = Object.create(null);
}

public enQueue(item:V):number
{
    this._valueMap[this._size++] = item;
    return this._size;
}

public deQueue():V
{
    if (this._size == 0) return undefined;
    let item:V = this._valueMap[--this._size];
    return item;
}

public isEmpty():boolean
{
    return this.size < 1;
}

public get size():number
{
    return this._size;
}

public clear():void
{
    this._size = 0;
    this._valueMap = Object.create(null);
}

public recycle(): void
{
    this.clear();
}

}