Java 集合系列07之 Stack詳細介紹(原始碼解析)和使用示例
阿新 • • 發佈:2018-12-31
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去遍歷Stack36 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 }