日期:2014-05-20  浏览次数:20613 次

演示了一下进栈与出栈问题,怎么不好使呢?
package   src;

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

public   class   Test1   {
public   static   void   main(String[]   args){
int[]   s=new   int[]{31,16,9,10,33};
Stack   sk=new   Stack();
sk.add( "a ");
sk.add( "b ");
sk.add( "c ");
sk.add( "d ");
Iterator   it=sk.iterator();
while(it.hasNext()){
Object   o=it.next();
System.out.println(o);
}
}

}
打印出来的该是d   c   b   a   才对啊

------解决方案--------------------
public static void main(String[] args) {
int[] s = new int[] { 31, 16, 9, 10, 33 };
Stack sk = new Stack();
sk.add( "a ");
sk.add( "b ");
sk.add( "c ");
sk.add( "d ");

while(!sk.isEmpty()) {
System.out.println(sk.pop()) ;
}
}


这样操作才是出栈

Iterator 不是Stack 特有的操作 ,不会按照FILO的规则