java for循环创建数组_Java快捷方式:生成一个数组,将for循环更改...

我考虑过在比赛编程中使用这个快捷方式.我定义了一个函数:

private static int[] range(int n) {

int[] ret = new int[n];

for (int i = 0; i < n; i++) {

ret[i] = i;

}

return ret;

}

所以我可以稍微更快地编写我的for循环,并且看起来稍微整洁(扫描代码时):

for (int i: range(n)) { doit(i); }

代替:

for (int i = 0; i < n; i++) { doit(i); }

这种方法是否有任何重大的性能问题,它们是什么?

代码有一个计算解决方案的时间限制,但使用正确的算法通常可以在一小部分时间内完成此操作.范围函数在O(n)中运行,因为无论如何我们将运行O(n)循环,时间复杂度没有增加.垃圾收集怎么样?还有别的什么我想不到的?

我将确定我以后是否真的喜欢使用此方法,并且如果在比赛开始时输入功能是值得的.请不要回答关于风格的问题. (竞争编码产生了一些你见过的最糟糕的代码,但它是关于按时完成它并且再也不会再看它的了.)

为了澄清,实际编码时间在本次比赛中至关重要,我们不能带来预先编码的代码.这通常意味着没有代码片段.在匆忙和凌乱的编码环境中,foreach将使循环更快,更容易出错.它是C中宏的替代品.


版权声明:本文为weixin_31000273原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。