刚学到集合这一块儿,作业中让自学Stack类,并且自己建立集合并遍历。真是遇到老多问题。
首先,Stack 类表示先进后出(LIFO)的对象堆栈。有自己的方法。
复制代码
看代码,可以成功显示出先进后出的就只有while 循环以及那三个pop输出语句。注释掉Enumeration<String> e=sta.elements();没有按照先进后出的方式显示;最后的for循环可以先进后出显示,但只显示两个,只有hello,world,没有Java,将System.out.println(sta.pop());换成System.out.println(sta.get());,三个元素全部显示,但不是先进后出。用增强for循环,- for(String s : sta){
- System.out.println(s);
- }
复制代码
还是没有先进后出。最后发现只要用pop()方法,只显示两个元素,咋回事??????????
最后,跟同桌讨论用while,- while(!sta.empty()){
- System.out.println(sta.pop());
- }
复制代码
如果集合不空,就循环。最终成功显示先进后出的顺序并且一个不少。
不知有没有啥错误跟不好的地方,欢迎拍砖与改进。
|