黑马程序员技术交流社区

标题: 关于增强for循环 [打印本页]

作者: 陈原野    时间: 2013-3-24 13:33
标题: 关于增强for循环
本帖最后由 陈原野 于 2013-3-24 14:11 编辑

谁能给详细解释下增强for循环怎么用for(  :   )括号里面的的格式是什么 什么时候应该用增强的for循环?
作者: 余勇    时间: 2013-3-24 13:43
高级for循环

格式:
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){        }

对集合进行遍历。
只能获取集合元素。但是不能对集合进行操作。

迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。

传统for和高级for有什么区别呢?

高级for有一个局限性。必须有被遍历的目标。
在遍历数组的时候,用传统for。因为传统for可以定义脚标。

HashMap<Integer,String> hm = new HashMap<Integer,String>();

                hm.put(1,"a");
                hm.put(2,"b");
                hm.put(3,"c");

                Set<Integer> keySet = hm.keySet();
                for(Integer i : keySet)  
          System.out.println(i+"::"+hm.get(i));

for(Map.Entry<Integer,String> me : hm.entrySet())  
          System.out.println(me.getKey()+"------"+me.getValue());
       



作者: 朱盛文    时间: 2013-3-24 14:12
增强for循环:
格式:
for(Collection集合或者数组对象中元素的数据类型 变量名 : Collection集合或者数组对象)
{
                在这里面直接使用这个变量,其实就是依次获取到的集合或者数组中的元素。但是不能对集合进行操作。
}
好处:简化了数组和Collection集合的遍历。
         增强for就是为了方便对Collection集合或者数组的遍历。
      也是可以用于替代迭代器的。
作者: VOIDMAIN    时间: 2013-3-24 15:37
我觉得就是在遍历的时候,增强for循环很有用,特别是遍历数组的时候,for(:)冒号前面是接收遍历结果的,冒号后面是那个需要被遍历的数组,我自己尝试了一下,对于多维数组的遍历,增强for循环所体现的功能更见强大。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2