上一篇:Vector学习笔记
二、Stack
Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。
首次创建堆栈时,它不包含项。
3.1、构造函数
public Stack()创建一个空堆栈。默认容量为10,同Vector一样,双倍扩容
Demo1:
Stack stack=new Stack();
System.out.println("初始容量:"+stack.capacity());
for(int i=0;i<22;i++){
stack.push(i);
}
System.out.println("扩容后容量:"+stack.capacity());
输出结果:
初始容量:10
扩容后容量:40
3.2、其他操作见API,比较简单
3.3、Stack例子
import java.util.Stack;
public class StackExample {
public static void main (String args[]) {
Stack s = new Stack();
s.push("Autumnal Tints");
s.push("A Week on the Concord and Merrimack Rivers");
s.push("The Maine Woods");
// Check out what's next to read
System.out.println("Next: " + s.peek());
s.push("Civil Disobedience, Solitude and Life Without Principle");
// Read a book
System.out.println(s.pop());
s.push("Walden");
s.push("The Natural Man");
// Find that other book
int count = s.search("The Maine Woods");
while (count != −1 && count > 1) {
s.pop();
count−;
}
// Read a book
System.out.println(s.pop());
// Anything left?
System.out.println(s.empty());
}
}