一、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-hk/n/238103.html
微信掃一掃
支付寶掃一掃