一、foreach循環的定義和用法
foreach循環,也稱為增強型for循環,是Java語言自SE5以後引入的一種新的循環語法結構。它可以在不需要顯式定義循環步長的情況下遍曆數組或集合。
foreach循環的語法結構如下:
for(元素類型 元素變數名 : 遍歷對象){ 循環體 }
其中,元素類型指的是集合中存儲的元素類型,元素變數名是一個指向該元素的變數名稱,遍歷對象指的是需要遍歷的數組或集合。
使用foreach循環遍歷集合非常方便,只需要把集合中的每一個元素提取出來就可以進行操作,無需關注循環變數的賦值與更新過程。
二、使用foreach遍歷List集合
在遍歷List集合時,我們只需要使用foreach循環遍歷List即可,示例代碼如下:
import java.util.ArrayList; import java.util.List; public class Test{ public static void main(String[] args){ List list = new ArrayList(); list.add("Java"); list.add("Python"); list.add("C++"); list.add("PHP"); for(String s: list){ System.out.println(s); } } }
以上代碼中我們定義了一個List對象list,並向其中添加了四個元素。然後使用foreach循環遍歷整個集合,遍歷的元素類型為string,元素變數名為s。通過System.out.println()將元素列印出來。
三、使用foreach遍歷Set集合
Set集合在使用foreach循環遍歷時相比List集合略有不同。Set集合無法使用角標訪問元素,因此需要使用迭代器才能依次訪問其元素。示例代碼如下:
import java.util.HashSet; import java.util.Set; public class Test{ public static void main(String[] args){ Set set = new HashSet(); set.add("Java"); set.add("Python"); set.add("C++"); set.add("PHP"); for(String s: set){ System.out.println(s); } } }
以上代碼中我們定義了一個Set對象set,並向其中添加了四個元素。然後使用foreach循環遍歷整個集合,遍歷的元素類型為string,元素變數名為s。通過System.out.println()將元素列印出來。
四、使用foreach遍歷Map集合
Map集合是一種鍵值對形式的集合,它包含了一組無序的鍵對象與值對象的映射關係。當使用foreach循環遍歷Map集合時,我們可以使用Entry對象將鍵對象和值對象組成一個鍵值對。示例代碼如下:
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class Test{ public static void main(String[] args){ Map map = new HashMap(); map.put("Java", 100); map.put("Python", 90); map.put("C++", 80); map.put("PHP", 70); for(Entry entry: map.entrySet()){ System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } }
以上代碼中我們定義了一個Map對象map,並向其中添加了四組鍵值對。然後使用foreach循環遍歷整個集合,遍歷的元素類型為Entry,元素變數名為entry。通過entry.getKey()和entry.getValue()分別獲取鍵對象和值對象,將它們列印出來。
五、避免使用foreach循環中的remove()方法
在使用foreach循環遍歷集合時,我們應該避免使用remove()方法。這是因為在遍歷集合的過程中,remove()方法可能會導致集合的大小發生變化,從而造成遍歷的錯誤、漏項等問題。
如果確實需要使用remove()方法,應該使用Iterator迭代器來完成,示例代碼如下:
Iterator iterator = list.iterator(); while(iterator.hasNext()){ String s = iterator.next(); if(s.equals("Java")){ iterator.remove(); } }
以上代碼中我們使用了Iterator迭代器來遍歷集合,並使用remove()方法刪除了名為”Java”的元素。這樣就避免了在使用foreach循環遍歷時出現的問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238103.html