本文共 612 字,大约阅读时间需要 2 分钟。
public class Stack<T> { //向上增长型 private LinkedList<T> storage=new LinkedList<T>(); public void push(T v){ storage.addFirst(v); } public T peek(){//只提供栈顶元素,不出栈 return storage.getFirst(); } public T pop(){ return storage.removeFirst(); } public boolean empty(){ return storage.isEmpty(); } public String toString(){ return storage.toString(); }}
ArrayList在首部添加元素会造成整个数组的偏移,其实是很耗时的操作,所以ArrayList本身不提供向上增长的栈,
但是我觉得对于栈,如果向下增长的话,数组效率还是挺高的,下一条博客我会写一个向下增长的栈。
测试用例
Stack<Integer> a=new Stack<>();
a.push(1); a.push(2); a.push(3); a.push(4); System.out.println(a.peek()); while(!a.empty()){ System.out.println(a.pop()); }转载地址:http://qpjqi.baihongyu.com/