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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 285619273 于 2014-6-9 12:55 编辑
  1. <div class="blockcode"><blockquote>import java.util.LinkedList;
  2. public class LinkedListDemo {
  3.         public static void main(String[] a)        {
  4.                 LinkedList<String> list = new LinkedList<String>();        //创建LinkedList对象
  5.                 LinkedList<String> list2 = new LinkedList<String>();       
  6.                 list.add("A"); list.add("B"); list.add("C"); list.add("D");  //添加元素
  7.                 System.out.print(list+"        \n");
  8.                 for (int i = 0;i < list.size();i ++)        {
  9.                         System.out.print(list.poll()+" ");                //为什么只能输出 A B
  10.                 }
  11.                 System.out.print("\n***************************************************\n");
  12.                
  13.                 list2.add("A"); list2.add("B"); list2.add("C"); list2.add("D");  //添加元素
  14.                 System.out.println(list2);
  15.                 int n = list2.size();
  16.                 for (int i = 0; i < n; i++)        {
  17.                         System.out.print(list2.poll()+" ");                //先进先出  输出A B C D
  18.                 }
  19.         }
  20. }
复制代码


运行结果:
这是什么情况???

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

4 个回复

倒序浏览
E poll()
          获取并移除此列表的头(第一个元素)

这个方法不光获取,还移除  每运行一次list.size()就减一,而你的for循环条件用的size  懂了吧

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
呵呵。这个确实得注意一下,System.out.print(list.poll()+" ");      poll()这个不是   获取并移除此列表的头(第一个元素),执行两次之后list的长度就变成2了, 这是i的值也是2.条件不成立,所以就只能输出abl
回复 使用道具 举报
本帖最后由 285619273 于 2014-6-9 13:21 编辑
never615 发表于 2014-6-9 13:00
E poll()
          获取并移除此列表的头(第一个元素)

明白了!谢谢指导!
回复 使用道具 举报
本帖最后由 never615 于 2014-6-9 13:29 编辑
285619273 发表于 2014-6-9 13:19
明白了!谢谢指导!

for(;;){
}
这个都可以成立,无限循环的最简单表现形式

for(初始化表达式;循环条件表达式;循环后的操作表达式)
                {
                        执行语句;
                }
这个分号里面写的三个条件就是告诉你那个位置可以写什么,
比如你初始化表达式,可以写在外面,循环条件用if加break写在里面,循环后表达式也可以写在里面。

        for(System.out.println("a"); x<3 ;System.out.println("c"),x++)
                {
                        System.out.println("d");
                        //x++;
                }不是说第一个分号前就一定要写个 int i=0之类的东西。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马