A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.*;
  2. class LinkedListDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. LinkedList LL=new LinkedList();
  7. LL.offerFirst("java01");
  8. LL.offerFirst("java02");
  9. LL.offerFirst("java03");
  10. LL.offerFirst("java04");
  11. LL.offerFirst("java05");
  12. LL.offerFirst("java06");
  13. LL.offerFirst("java07");
  14. LL.offerFirst("java08");

  15. sop(LL);
  16. for(int x=0;x<LL.size();x++)
  17. {
  18. sop(LL.pollLast());
  19. }
  20. sop(LL);

  21. }

  22. public static void sop(Object obj)
  23. {
  24. System.out.println(obj);
  25. }
  26. }
复制代码
输出结果只有一半的数据,求解!!!

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 淡定

查看全部评分

6 个回复

倒序浏览
结果如下:

12.22.jpg (61.29 KB, 下载次数: 23)

12.22.jpg
回复 使用道具 举报
因为你使用集合size作为for循环的条件,而在做删除操作时size是递减的,所以当删除4个后,size的值是4,此时x的值也是4,已经不满足循环条件了,所以只删除了4个元素
回复 使用道具 举报
问题出在19行  .sop(LL.pollLast());  每次也在变化,你试着别用for循环,用while循环写
回复 使用道具 举报
HelloWorld! 发表于 2014-12-22 18:58
因为你使用集合size作为for循环的条件,而在做删除操作时size是递减的,所以当删除4个后,size的值是4,此 ...

多谢,明白了
回复 使用道具 举报
奋斗的蜗牛ksd 发表于 2014-12-23 00:28
问题出在19行  .sop(LL.pollLast());  每次也在变化,你试着别用for循环,用while循环写 ...

恩,可以用判空方法进行输出,谢谢
回复 使用道具 举报
我又复习一遍~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马