public class MyArrayStack {
private Object[] objects=new Object[10];
private int size=0;
public Object push(Object data){
if(size>=objects.length){
resize();
}
return objects[size++]=data;
}
public Object pop(){//返回栈顶的值,删除栈顶的值;
Object o=objects[size-1];//下标从0开始;
objects[--size]=null;
return o;
}
public Object peek(){//返回栈顶的值,不删除栈顶的值;
Object o=objects[size-1];//下标从0开始;
return o;
}
private void resize() {
Object []temp=new Object[objects.length*3];
for(int i=0;i<objects.length;i++){
temp[i]=objects[i];
objects[i]=null;
}
objects=temp;
}
public static void main(String[] args) {
MyArrayStack myArrayStack=new MyArrayStack();
myArrayStack.push("A");
myArrayStack.push("B");
myArrayStack.push("C");
System.out.println(myArrayStack.peek());
System.out.println(myArrayStack.pop());
System.out.println(myArrayStack.peek());
}
}
java-对象数组手写栈
猜你喜欢
转载自blog.csdn.net/Answer0902/article/details/81217304
今日推荐
周排行