繁体   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