一、foreach概述
foreach也叫加強型循環,是Java5.0版本之後新增的for循環語法,顧名思義,就是加強版的for循環,可以極大地簡化遍曆數組或集合元素的代碼。
foreach語法格式如下:
for (數據類型 變量名:遍歷對象) { //循環體 }
其中,數據類型指定遍歷對象中元素的數據類型,變量名則代表了每次遍歷的當前元素。
二、foreach遍曆數組
下面是一個foreach遍曆數組的示例代碼:
String[] names = {"Tom", "Jerry", "Mickey"}; for (String name : names) { System.out.println(name); }
解釋一下上述代碼的執行過程:首先定義了一個字符串數組,包含了三個元素,然後使用foreach遍歷這個數組,遍歷過程中定義了一個字符串變量name,用於保存每個數組元素的值。代碼執行時,進入foreach循環體,先將第一個數組元素”Tom”賦值給name變量,然後輸出name的值,輸出結果是Tom;接着將第二個數組元素”Jerry”賦值給name變量,輸出結果是Jerry;最後將第三個數組元素”Mickey”賦值給name變量,輸出結果是Mickey。
三、foreach遍歷集合
下面是一個foreach遍歷集合的示例代碼:
List fruits = new ArrayList(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); for (String fruit : fruits) { System.out.println(fruit); }
解釋一下上述代碼的執行過程:首先定義了一個List集合,包含了三個元素,然後使用foreach遍歷這個集合,遍歷過程中定義了一個字符串變量fruit,用於保存每個集合元素的值。代碼執行時,進入foreach循環體,先將第一個集合元素”Apple”賦值給fruit變量,然後輸出fruit的值,輸出結果是Apple;接着將第二個集合元素”Banana”賦值給fruit變量,輸出結果是Banana;最後將第三個集合元素”Orange”賦值給fruit變量,輸出結果是Orange。
四、foreach遍歷Map
下面是一個foreach遍歷Map的示例代碼:
Map scores = new HashMap(); scores.put("Tom", 80); scores.put("Jerry", 90); scores.put("Mickey", 85); for (Map.Entry entry : scores.entrySet()) { String name = entry.getKey(); Integer score = entry.getValue(); System.out.println("Name: " + name + ", Score: " + score); }
解釋一下上述代碼的執行過程:首先定義了一個Map,包含了三對鍵值對,然後使用foreach遍歷這個Map的entrySet()方法返回的Set集合,遍歷過程中定義了一個Map.Entry類型的變量entry,用於保存每個鍵值對的鍵和值。代碼執行時,進入foreach循環體,將第一個鍵值對的鍵和值分別保存到了name和score變量中,然後輸出了一句話,輸出結果是Name: Tom, Score: 80;接着將第二個鍵值對的鍵和值分別保存到了name和score變量中,輸出結果是Name: Jerry, Score: 90;最後將第三個鍵值對的鍵和值分別保存到了name和score變量中,輸出結果是Name: Mickey, Score: 85。
五、foreach注意事項
在使用foreach時,需要注意以下幾點:
- foreach只適用於遍曆數組、集合或Map等實現了Iterable接口的對象。
- 在foreach循環中不能修改集合或數組的元素,否則會拋出ConcurrentModificationException異常。
- 在遍歷Map時,foreach循環中的變量類型為Map.Entry<K, V>。
- foreach遍歷集合或數組時,只能訪問其中的元素值,無法訪問元素的下標或者鍵。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/303619.html