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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小黑子 中级黑马   /  2014-9-16 07:21  /  1736 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小黑子 于 2014-9-16 15:14 编辑

看到这样一段代码:

void printCollection(Collection<?> c) {

for (Object e : c) {

System.out.println(e);

}

}

表示不明白  for (Object e : c) 是什么意思?


16 个回复

倒序浏览
后面数组c中的元素一一取出 赋给左边的变量 然后执行循环体

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
JDK5.0中出现高级For循环,它能对数组集合进行遍历,传统的for循环和增强for循环的比较:

1,String[] str={"张三","李四","王五"};
//传统的数组遍历
for(int i=0;i<str.length;i++){
System.out.println(str);
}
//使用增强for循环的数组遍历
for(String person:str){
System.out.println(person);
2,List<String> persons=new ArrayList<String>();
persons.add("张三");
persons.add("李四");
persons.add("王五");

//传统的Iterator遍历集合
for(Iterator<String> i=persons.iterator();i.hasNext();){
String person=i.next();
System.out.println(person);
}
//使用增强For循环遍历集合
for(String person:persons){
System.out.println(person);
}
以上代码中可以看到,使用增强for循环使得代码变得短小精炼。
增强for循环有局限性:不能在增强for循环中访问位置。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
高级for循环

评分

参与人数 1黑马币 +1 收起 理由
陈君 + 1 说的再详细点就好了

查看全部评分

回复 使用道具 举报
正好最近在看for,把我知道的说一下

你要是要先打印Collection集合中的元素,这个for (Object e : c)是jdk1.5推出的一个高级for用法。
就是遍历集合中的每一个元素,由于你for (Object e : c)里的泛型是Object,void printCollection(Collection<?> c) 这里的问号可以改成Object。。。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
MeryStyle 来自手机 中级黑马 2014-9-16 13:37:41
地板
楼上  藤椅  解释的很详尽!
回复 使用道具 举报
       增强for遍历集合。   增强for的优点:代码精练、高效       缺点:只适合取数据。

评分

参与人数 1黑马币 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
sean 中级黑马 2014-9-16 14:32:18
8#
这个是高级for循环的一种体现形式。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1 鼓励下

查看全部评分

回复 使用道具 举报
xplcc 中级黑马 2014-9-16 14:37:45
9#
for循环加强,for(A a:b) 意思是:b中包含多个A 迭代循环出来的A用变量a表示

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
高级for循环,java5.0新特性,楼主自己去了解下吧
回复 使用道具 举报
李春丽 发表于 2014-9-16 09:11
JDK5.0中出现高级For循环,它能对数组和集合进行遍历,传统的for循环和增强for循环的比较:

1,String[] st ...

明白了,谢谢:)
回复 使用道具 举报
高级for循环,将c的数据赋予给e,直到c集合中的数据全部完成赋值,循环体结束。
回复 使用道具 举报
刚刚看到

这是JDK1.5的新特性 增强 for 循环
格式  
      for(类型 变量 : Collection(或者是数组也可以))
       {
       }
这是遍历,将被遍历的集合或者数组 c 的元素逐一的赋值给 变量 e,并且直到 遍历元素结束,循环停止,你可以打印 e看到结果
回复 使用道具 举报
这个是for循环的增强
  1. public class  ForDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] args0={1,2,3,4,5,6,7};
  6.                 for (int args1 : args0)
  7.                 {
  8.                         System.out.println(args1);
  9.                 }
  10.                 System.out.println("Hello World!");
  11.         }
  12. }
复制代码

点评

是jdk一点五的新特性for循环的增强格式为:for(Object obj: 要遍历的数组)  发表于 2014-9-18 08:17
回复 使用道具 举报
本帖最后由 noiary 于 2014-9-18 08:45 编辑

for each循环  百度更专业
回复 使用道具 举报
这个是jdk5.0的新特性,增强for循环。for(Object e:c)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马