Java中遍歷數(shù)組使用foreach循環(huán)還是for循環(huán)?
從JDK1.5起,增加了新功能Foreach,它是for循環(huán)遍歷數(shù)據(jù)的一種簡寫形式,使用的關(guān)鍵字依然是for,但參數(shù)格式不同。其詳細(xì)用法為:
for(Type e:collection){
//對變量e的使用}
參數(shù)說明:
e:其類型Type是集合或數(shù)組中元素值的類型,該參數(shù)是集合或數(shù)組collection中的一個元素。
collections: 要遍歷的集合或數(shù)組,也可以是迭代器。
在循環(huán)體中使用參數(shù)e,該參數(shù)是foreach從集合或數(shù)組以及迭代器中取得的元素值,元素值是從頭到尾進(jìn)行遍歷的。
具體例子:
//必須導(dǎo)入util下面的這兩個包:ArrayList,List;
import java.util.ArrayList;
import java.util.List;
public class Foreach {
public static void main(String[] arg){
List<String> list = new ArrayList<String>(); //創(chuàng)建List集合
list.add("abc"); //初始化list集合
list.add("def");
list.add("ghi");
list.add("jkl");
list.add("mno");
list.add("pqr");
System.out.print("Foreach遍歷集合: \n\t");
for(String string:list){ //遍歷List集合
System.out.print(string); //輸出集合的元素值
}
System.out.println();
String[] strs = new String[list.size()];
list.toArray(strs); //創(chuàng)建數(shù)組
System.out.println("Foreach遍歷數(shù)組:\n\t");
for(String string: strs){ //遍歷數(shù)組
System.out.print(string); //輸出數(shù)組元素值
}
}
}
總結(jié):
JDK之前的版本使用for循環(huán)對集合、數(shù)組和迭代器進(jìn)行遍歷,這需要創(chuàng)建索引變量、條件表達(dá)式,這些會造成代碼混亂,并增加出錯的幾率。并且每次循環(huán)中,索引變量或迭代器都會出現(xiàn)3次,有兩次出錯的機(jī)會。并且會有一些性能方面的損失、其性能稍微落后于foreach循環(huán)。所以對于數(shù)據(jù)集合的遍歷,建議使用Foreach循環(huán)。
相關(guān)文章
使用Java實現(xiàn)通用樹形結(jié)構(gòu)構(gòu)建工具類
這篇文章主要為大家詳細(xì)介紹了如何使用Java實現(xiàn)通用樹形結(jié)構(gòu)構(gòu)建工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
解決Error occurred during initialization o
這篇文章主要介紹了解決Error occurred during initialization of VM Java虛擬機(jī)初始化失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
springcloud?gateway實現(xiàn)簡易版灰度路由步驟詳解
這篇文章主要為大家介紹了springcloud?gateway實現(xiàn)簡易版灰度路由步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
關(guān)于Rabbitmq死信隊列及延時隊列的實現(xiàn)
這篇文章主要介紹了關(guān)于Rabbitmq死信隊列及延時隊列的實現(xiàn),TTL就是消息或者隊列的過期功能,當(dāng)消息過期就會進(jìn)到死信隊列,死信隊列和普通隊列沒啥區(qū)別,然后我們只需要配置一個消費者來消費死信隊列里面的消息就可以了,需要的朋友可以參考下2023-08-08
springboot整合jsp,實現(xiàn)公交車站路線圖
這篇文章主要介紹了springboot整合jsp,實現(xiàn)公交車站路線圖的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2021-01-01
java實現(xiàn)/創(chuàng)建線程的幾種方式小結(jié)
在JAVA中,用Thread類代表線程,所有線程對象都必須是Thread類或者Thread類子類的實例,下面這篇文章主要介紹了java實現(xiàn)/創(chuàng)建線程的幾種方式,需要的朋友可以參考下2021-08-08
springboot注入yml配置文件 list報錯的解決方案
這篇文章主要介紹了springboot注入yml配置文件 list報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
基于ChatGPT+SpringBoot實現(xiàn)智能聊天AI機(jī)器人接口并上線至服務(wù)器的方法
ChatGPT是一款基于自然語言處理技術(shù)的聊天機(jī)器人,ChatGPT可以模擬真實的人類對話,并能夠更貼近用戶的需求,提供更有價值的服務(wù),這篇文章主要介紹了基于ChatGPT+SpringBoot實現(xiàn)智能聊天AI機(jī)器人接口并上線至服務(wù)器,需要的朋友可以參考下2023-02-02

