簡體   English   中英

Java:在迭代過程中使用“ if”而不是while循環的影響

[英]Java: Impact of using 'if' instead of while loop during an iteration

我有這樣的代碼

Enumeration parameterEnum = request.getParameterNames()
while(parameterEnum.hasMoreElements()){}

如果我將它從while語句更改為if語句,有什么區別?

如果您將其更改為if它要么執行一次或者根本沒有-一個while聲明將無限期執行,直到ParameterEnum.hasMoreElements()返回false。

如果我理解您的要求,則當前代碼將繼續運行括號中的內容,直到沒有元素為止。 假定括號中的內容已刪除。 如上面的字面所示,它是一個無限循環,永遠不會結束。

如果將while轉換為if ,則括號中的內容將只運行一次。

如果Request.getParameterNames()返回一個“空”值,那么這兩種情況都不會做任何事情。

如果會更快很多!!! 它的復雜度為O(1)的復雜度為O(1) O(N) !!!

因此,輸入越大,使用if代替一陣子 ;-)效果越好。

您可能正在考慮for語句,而不是if

if(ParameterEnum.hasMoreElements()) {}

if只會運行一次

while(ParameterEnum.hasMoreElements()) {}

除非您增加enum ,否則while將連續運行。

另一個選項是for

for(Enumeration paramEnum = Request.getParameterNames(); 
                              parameEnum.hasMoreElements();) {}

這與while相似,只要hasMoreElements()方法返回true, hasMoreElements()可以運行,因此用nextElement()遞增枚舉很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM