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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈原野 中级黑马   /  2013-3-24 13:33  /  1377 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈原野 于 2013-3-24 14:11 编辑

谁能给详细解释下增强for循环怎么用for(  :   )括号里面的的格式是什么 什么时候应该用增强的for循环?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

正序浏览
我觉得就是在遍历的时候,增强for循环很有用,特别是遍历数组的时候,for(:)冒号前面是接收遍历结果的,冒号后面是那个需要被遍历的数组,我自己尝试了一下,对于多维数组的遍历,增强for循环所体现的功能更见强大。
回复 使用道具 举报
增强for循环:
格式:
for(Collection集合或者数组对象中元素的数据类型 变量名 : Collection集合或者数组对象)
{
                在这里面直接使用这个变量,其实就是依次获取到的集合或者数组中的元素。但是不能对集合进行操作。
}
好处:简化了数组和Collection集合的遍历。
         增强for就是为了方便对Collection集合或者数组的遍历。
      也是可以用于替代迭代器的。
回复 使用道具 举报
高级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:11

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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