Stack操作,栈的操作。

时间:2023-03-09 00:28:22
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)

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