import java.util.LinkedList; /* *利用LinkedList来实现堆栈 *LinkedList容器具有有续性,以及插入删除方便的特征 * */ public class Stack<T>{ //建立一个链表保存数据 private LinkedList<T> stack; public Stack(){ stack = new LinkedList<T>(); } //入栈操作 public void push(T obj){ stack.addFirst(obj); } //获取栈顶元素 public T peek(){ //判断栈是否为空 if(!isEmpty()){ return stack.getFirst(); }else{ return null; } } //出栈操作 public T pop(){ //判断栈是否为空 if(!isEmpty()){ return stack.removeFirst(); }else{ return null; } } //判断栈是否为空 public boolean isEmpty(){ return stack.isEmpty(); } //测试堆栈 public static void main(String[] args){ String[] list = "my name is beyondlife".split(" "); Stack<String> stack = new Stack<String>(); for(String obj : list){ stack.push(obj); } while(stack.peek() != null){ System.out.print(stack.pop() + " "); } } }