棧類Stack
Stack類是Vector類的子類。它向用戶提供了堆棧這種高級的數據結構。棧的基本特性就是先進後出。即先放入棧中的元素將後被推出。Stack類中提供了相應方法完成棧的有關操作。
基本方法:
public Object push(Object Hem)
將Hem壓入棧中,Hem可以是任何類的對象。
public Object pop()
彈出一個對象。
public Object peek()
返回棧頂元素,但不彈出此元素。
public int search(Object obj)
搜索對象obj,返回它所處的位置。
public boolean empty()
判別棧是否為空。
例1.4 StackApp.java使用了上面的各種方法。
例1.4 StackApp.java。
import java.lang.*;
import java.util.*;
public class StackApp{
public static void main(String args[]){
Stack sta=new Stack();
sta.push("Apple");
sta.push("banana");
sta.push("Cherry");
//壓入的為字符串對象
sta.push(new Integer(2));
//壓入的為Integer的對象,值為2
sta.push(new Float(3.5));
//壓入的為Float的對象,值為3.5
System.out.println("The stack is,"+sta);
//對應棧sta
System.out.println("The top of stack is:"+sta.peek());
//對應棧頂元素,但不將此元素彈出
System.out.println("The position of object Cherry is:"
+sta.search("cherry"));
//打印對象Cherry所處的位置
System.out.print("Pop the element of the stack:");
while(!sta.empty())
System.out.print(sta.pop()+" ");
System.out.println();
//將棧中的元素依次彈出並打印。與第一次打印的sta的結果比較,可看出棧
//先進後出的特點
}
}
運行結果(略)
棧類Stack