Stack操作,栈的操作。

栈是先进后出,后进先出的操作。

有点类似浏览器返回上一页的操作,

public class Stack<E>extends Vector<E>

是vector的子类。

常用方法:

boolean empty()
          测试堆栈是否为空。
 E peek()
          查看堆栈顶部的对象,但不从堆栈中移除它。
 E pop()
          移除堆栈顶部的对象,并作为此函数的值返回该对象。
 E push(E item)
          把项压入堆栈顶部。
 int search(Object o)
          返回对象在堆栈中的位置,以 1 为基数。

代码:

package 类集;
import java.util.Stack;
public class test1{
    public static void main(String args[]){
        Stack<String> s = new Stack<String>() ;
        s.push("A") ;    // 入栈
        s.push("B") ;    // 入栈
        s.push("C") ;    // 入栈
        if(!s.empty())
            System.out.println("不是空栈");
        else
            System.out.println("是空栈");
        System.out.print(s.pop() + "、") ;
        System.out.print(s.pop() + "、") ;
        System.out.println(s.pop() + "、") ;
        System.out.println(s.pop()) ;    //此时里面没有内容了,报错
    }
};

结果:

不是空栈
C、B、A、
Exception in thread "main" java.util.EmptyStackException
    at java.util.Stack.peek(Stack.java:102)
    at java.util.Stack.pop(Stack.java:84)
    at 类集.test1.main(test1.java:16)

如果栈中没有内容了,则无法再输出。 

posted @ 2017-01-05 23:37  美好的明天  阅读(1397)  评论(0编辑  收藏  举报