/** * 数组初始化或者以1.5倍对数组扩容 */ private void capacity(){ //数组初始化 if(this.arr==null){ this.arr=new Object[this.stackLength]; } //以1.5倍对数组扩容 if(this.size-(this.stackLength-1)>=0){ this.stackLength=this.stackLength+(this.stackLength>>1); this.arr= Arrays.copyOf(this.arr,this.stackLength); } }
/** * 向栈容器添加元素 * @param item * @return */ public E push(E item){ //初始化数组 this.capacity(); //向数组中添加元素 this.arr[++index]=item; //记录元素个数 this.size++; return item; }