标签:
堆栈是操作受限的线性表。堆栈只能对表尾进行读出写入操作,这个表尾称为栈顶,表头称为栈底,没有数据元素的称为空栈。堆栈是后进先出的线性表。
在java中,因为Stack<E>的父类是Vector<E>,所以Stack<E>也是线程安全的。
Stack.java(80): public synchronized E pop() {
Stack.java(98): public synchronized E peek() {
Stack.java(130): public synchronized int search(Object o) {
ArrayList,LinkedList和Vector只要遵循堆栈操作的规则,是完全可以实现堆栈的功能的。
堆栈一般有以下操作:
push = add :将元素推入栈中。
pop = { obj = peek();remove(size() - 1); return obj;} :取出栈顶元素,并将该元素从栈中删除。
peek = get(size() - 1) :取出栈顶元素,不执行删除。
实例:
Stack stack = new Stack();
for ( int i = 0; i < args.length; i++){
stack.push(new Integer(args[i]));
}
while(!stack.empty()){
Object obj = stack.pop();
System.out.println(obj);
}
java 类 1 2 3 4 5 6 7 8 9
9
8
7
6
5
4
3
2
1
标签:
原文地址:http://my.oschina.net/u/660460/blog/417477