package com.kevin.coding01.basic;
/**
* 栈 先进后出
* Created by YinWenBing on 2017/2/25.
*/
public class MyStack<E> {
private MyArrayList<E> elementData = new MyArrayList<E>();
/**
* 往栈中添加元素
*
* @param e
*/
public void push(E e) {
elementData.add(e);
}
/**
* 删除栈顶元素
*
* @return
*/
public E pop() {
return elementData.remove(elementData.size() - 1);
}
/**
* 返回栈顶元素
*
* @return
*/
public E peek() {
return elementData.get(elementData.size() - 1);
}
/**
* 是否为空
*
* @return
*/
public boolean isEmpty() {
return elementData.size() == 0 ? true : false;
}
/**
* 返回栈中元素的数量
*
* @return
*/
public int size() {
return elementData.size();
}
public static void main(String[] args) {
MyStack<String> myStack = new MyStack<String>();
myStack.push("A");
myStack.push("B");
myStack.push("C");
System.out.println(myStack.peek());
System.out.println(myStack.pop());
System.out.println(myStack.peek());
System.out.println(myStack.size());
}
}