黑马程序员技术交流社区
标题:
有关LinkedList类的找到表头方法的小问题
[打印本页]
作者:
何俊森
时间:
2013-4-6 21:55
标题:
有关LinkedList类的找到表头方法的小问题
本帖最后由 何俊森 于 2013-4-7 08:26 编辑
<div class="blockcode"><blockquote><p>import java.util.LinkedList;
public class VectorDemo03 {
public static void main(String[] args) {
LinkedList<String> link = new LinkedList<String>();
link.add("A");
link.add("B");
link.add("C");
System.out.print("以FIFO的方式输出:");
for (int i = 0; i < link.size() + 1; i++) {
System.out.print(link.poll() + " ");
}
}
}
</p>
复制代码
输出结果本应该是:以FIFO的方式输出:A B C
实际运行结果见图:
捕获.PNG
(5.08 KB, 下载次数: 19)
下载附件
2013-4-6 21:55 上传
作者:
yangyinhui
时间:
2013-4-6 22:23
link的size是在变的
i=0时,size为3,0<4条件成立,去掉A
i=1时,size为2,1<3条件成立,去掉B
i=2时,size为1,2<2不成立,结束循环
所以只输出了A B
作者:
刘吉庆
时间:
2013-4-6 22:28
此for循环有逻辑错误,要想获取可选用 isEmpty当条件来判断
第一次 i = 0 link.size() = 3 ; link.poll输出
第二次 i = 1 link.size() = 2 ; link.poll输出 B
第三次 i = 2 link.size() = 1 ; 条件不成立,继续执行后边代码
package cn.bbs;
import java.util.LinkedList;
/**
*
* @author Administrator
*
*/
public class VectorDemo03 {
public static void main(String[] args) {
LinkedList<String> link = new LinkedList<String>();
link.add("A");
link.add("B");
link.add("C");
System.out.println("以FIFO的方式输出:");
// for (int i = 0; i < link.size(); i++) {
// System.out.println(link.poll() + " ");//
// }
while (!link.isEmpty()) {
System.out.println(link.poll());
}
}
}
复制代码
作者:
陈丽莉
时间:
2013-4-6 22:38
若还有问题,继续追问; 没有的话,请将帖子分类改成【已解决】~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2