您的位置:首页 > 编程语言 > Java开发

(黑马程序员)JDK5.0新特性,高级for的使用

2013-06-17 09:22 295 查看
JDK5.0以后,为了简化简单的对集合或数组遍历的书写,定义了一个新语句,高级for语句,成为foreach循环。

foreach语句:

 格式:

 for(遍历出的元素变量类型  遍历出的元素变量名称   :被遍历的目标容器){}  

传统for和高级for的区别?

 传统for可以完成对语句执行很多次,因为可以定义控制循环的增量和条件。

 高级for是一种简化形式。

 它必须有被遍历的目标容器。如数组,Collection单列集合。

 对数数组的遍历如果仅仅是获取数组中的元素,可以使用高级for。

 如果要对数组的角标进行操作建议使用传统for。 

例如:

List<String> list =new ArrayList<String>();

list.add("abc1");

list.add("abc2");

list.add("abc3");

for(String s : list){        //可以很大程度简化书写。

System.out.println(s);

}

------此处等价于迭代器

   Iterator<String> it = list.iterator();

while(it.hasNext()){

System.out.println(it.next());

  }

注意:可以使用高级for遍历map集合吗?

不能直接用,但是可以将map转成单列的set,就可以用了。因为map是双列,set是单列。

Map<Integer,String> map = new HashMap<Integer,String>();

map.put(1,"z");

map.put(2,"w");

for(Integer key : map.keySet()){

String value = map.get(key);

System.out.println(key+"::"+value);

}

for(Map.Entry<Integer,String> me : map.entrySet()){

Integer key = me.getKey();

String value = me.getValue();

System.out.println(key+":"+value);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  遍历
相关文章推荐