堆疊的特性就是先進後出,而Java中已經有Stack物件可以直接使用

Java Stack:

import java.util.Iterator;
import java.util.Stack;

public class test{
	public static void main(String [] argv){
		//建立一個String的Stack
		Stack<String> st = new Stack<String>();

		//推入資料
		st.push("a");
		st.push("b");
		st.push("c");

		//建立Iterator,Iterator的是針對在不同的物件(陣列、鏈結、雜湊集合)的公開存取介面
		//Iterator會先到物件內部收集資料再回傳到Iterator
		Iterator it = st.iterator();

		//堆疊大小
		System.out.println("Stack size:" + st.size());

		//走訪Stack,依序輸出a、b、c
		while(it.hasNext()){
			String value = (String)it.next(); //Iterator抓出來的資料需要強制轉型
			System.out.println("走訪:" + value);
		}

		//推出堆疊最上層的資料,c
		String value = (String)st.pop();
		System.out.println(value);

		//堆疊大小
		System.out.println("Stack size:" + st.size());

	}
}
Categories: Java