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