1. 程式人生 > >Java 集合系列07之 Stack詳細介紹(原始碼解析)和使用示例

Java 集合系列07之 Stack詳細介紹(原始碼解析)和使用示例

 1 import java.util.Stack;
 2 import java.util.Iterator;
 3 import java.util.List;
 4 
 5 /**
 6  * @desc Stack的測試程式。測試常用API的用法
 7  *
 8  * @author skywang
 9  */
10 public class StackTest {
11 
12     public static void main(String[] args) {
13         Stack stack = new Stack();
14         //
將1,2,3,4,5新增到棧中 15 for(int i=1; i<6; i++) { 16 stack.push(String.valueOf(i)); 17 } 18 19 // 遍歷並打印出該棧 20 iteratorThroughRandomAccess(stack) ; 21 22 // 查詢“2”在棧中的位置,並輸出 23 int pos = stack.search("2"); 24 System.out.println("the postion of 2 is:"+pos);
25 26 // pup棧頂元素之後,遍歷棧 27 stack.pop(); 28 iteratorThroughRandomAccess(stack) ; 29 30 // peek棧頂元素之後,遍歷棧 31 String val = (String)stack.peek(); 32 System.out.println("peek:"+val); 33 iteratorThroughRandomAccess(stack) ; 34 35 // 通過Iterator去遍歷Stack
36 iteratorThroughIterator(stack) ; 37 } 38 39 /** 40 * 通過快速訪問遍歷Stack 41 */ 42 public static void iteratorThroughRandomAccess(List list) { 43 String val = null; 44 for (int i=0; i<list.size(); i++) { 45 val = (String)list.get(i); 46 System.out.print(val+" "); 47 } 48 System.out.println(); 49 } 50 51 /** 52 * 通過迭代器遍歷Stack 53 */ 54 public static void iteratorThroughIterator(List list) { 55 56 String val = null; 57 for(Iterator iter = list.iterator(); iter.hasNext(); ) { 58 val = (String)iter.next(); 59 System.out.print(val+" "); 60 } 61 System.out.println(); 62 } 63 64 }