(黑马程序员)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);
}
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);
}
相关文章推荐
- 黑马程序员--基础--第一篇--JDK5.0新特性泛型 静态倒入 自动拆装箱 不定项参数 增强for如循环 枚举
- 黑马程序员_学习笔记:11) Jdk5.0新特性:增强for循环、可变参数(...)、静态导入、枚举:关键字 enum、自动拆装箱、泛型
- 黑马程序员----------java基础知识之JDK5.0新特性总结
- 黑马程序员——JDK5.0新特性
- 无法转向JDK 5.0?学习一款开放源代码工具如何帮助在旧版 JVM 上使用这些特性
- 黑马程序员---集合框架工具类Collections,数组工具类Arrays常见方法以及1.5版本新特性(高级for,可变参数和静态导入)
- Day 07 debug调试 junit单元测试 jdk5.0新特性 泛型,枚举,静态导入,拆装箱,增强for,可变参数 反射
- 黑马程序员--JDK5.0 新特性
- 黑马程序员_java jdk5.0新特性和枚举的学习笔记
- 【黑马程序员】java1.5新特性-----可变参数,静态导入,高级for循环及享元设计模式
- 黑马程序员——java编程那些事儿____jdk1.5新特性 静态导入、可变参数、高级for循环
- 黑马程序员_java jdk5.0新特性和枚举的学习笔记
- 黑马程序员——JDK5.0新特性(泛型)
- 黑马程序员——JAVA学习笔记——Jdk5.0新特性
- Myeclipse的使用和JDK 5.0的新特性
- JDK5.0新特性系列---7.使用ProcessBuilder执行本地命令
- JDK5.0新特性系列---2.新的for循环
- JDK5.0特性,使用ProcessBuilder执行本地命令
- 黑马程序员--12--collections类与JDK5.0新特性
- 在jbuilder2005中使用jdk5.0的新特性