2015 另一个版本
public class StackDemo {
private static final int LENGTH = 3;
private Object[] objArr = new Object[LENGTH];
// private static int size = 0;
private int top = -1;
public StackDemo(){
this(LENGTH);
}
public StackDemo(int size){
this.objArr = new Object[size];
}
public boolean empty(){
return objArr.length == 0 ? true : false;
}
public Object peek(){
return this.empty() ? null : objArr[top];
}
public Object pop(){
Object obj = null;
if(this.empty())
return null;
obj = objArr[top];
objArr[top] = null;
top--;
return obj;
}
public boolean isFull(){
return this.objArr.length - 1 == top ? true : false;
}
public void push(Object obj){
if(null == obj){
System.out.println("parameter is null,exit");
return;
}
if(this.isFull()){
int newSize = objArr.length + java.lang.Math.round(objArr.length / 2);
objArr = Arrays.copyOf(objArr, newSize);
}
objArr[++top] = obj;
}
public static void main(String[] args){
StackDemo s = new StackDemo();
for(int i = 0; i< 5; i++){
s.push(i);
}
int temp = (Integer) s.peek();
System.out.println("value -->" + temp);
}
}