Java实现栈二:通过数组方式实现

来源:互联网 发布:js table 添加tr td 编辑:程序博客网 时间:2024/06/10 14:26
//通过数组实现栈public class Stack2 {private int top = -1;//栈顶指针private Object[] items;private int size = 0;private int capacity = 10;public Stack2(int capacity){this.capacity = capacity;items = new Object[capacity];}public Stack2(){items = new Object[capacity];}//移除public Object pop(){Object o = null;if(top > -1){o = items[top];top--;size--;}return o;}public void push(Object o){if(capacity == size){capacity *= 2;Object[] newItems = new Object[capacity];for (int i = 0; i < items.length; i++) {newItems[i] = items[i];}items = newItems;}items[top+1] = o;top++;size++;}public int getSize(){return size;}public boolean empty(){if(top > -1){return false;}else{return true;}}public static void main(String[] args) {Stack2 stack2 = new Stack2(100);stack2.push("1");stack2.push("2");stack2.push("3");System.out.println(stack2.pop());System.out.println(stack2.getSize());}}