1.概述
增强型for循环是jdk1.5之后出现的新特性,在用法上与普通的for循环有所不同。其功能得到了拓展,主要用于对集合或数组对象进行遍历操作。
2.使用格式
for(数据类型 变量名:被遍历的集合[Collection]或数组){
//具体操作
}
3.示例代码
对数组进行操作:
//部分代码
//对数组元素进行遍历取出
int[] arr={2,12,58,79};
for(int num:arr){
System.out.println(num);
}
程序运行结果:
2
12
58
79
对集合进行操作:
//部分代码
//对ArrayList集合中的元素进行遍历取出
ArrayList<String> al=new ArrayList<String>();
al.add("demo1");
al.add("demo2");
al.add("demo3");
al.add("demo4");
for(String ele:al){
System.out.println(ele);
}
程序运行结果:
demo1
demo2
demo3
demo4
说明:增强型for循环在一定程度上可以代替集合的迭代器。相比迭代器,其书写更加简洁方便。但增强型for循环只能对集合中的元素进行取出操作,而不能进行修改操作。
4.与普通for循环的区别
与普通for循环相比,增强型for循环要求必须有被遍历的目标,否则无法使用
典型示例:
//普通for循环输出
for(int i=0;i<50;i++){
System.out.println("demo");
}
说明:类似上例代码中的简单循环输出操作就无法通过增强型for循环实现。
5.简单应用
对HashMap中的元素进行取出:
//部分代码
//新建HashMap集合
HashMap<String,Integer> hm=new HashMap<String,Integer>();
hm.put("demo1", 1);
hm.put("demo2", 2);
hm.put("demo3", 3);
hm.put("demo4", 4);
//获取Map集合keySet
Set<String> keySet=hm.keySet();
//利用增强型for循环对Map集合中的元素进行取出
for(String key:keySet){
System.out.println(key+"---"+hm.get(key));
}
程序运行结果:
demo3—3
demo4—4
demo1—1
demo2—2