Java中将数组的length计算放在循环体外面可以提升运行速度

Posted Wcy100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中将数组的length计算放在循环体外面可以提升运行速度相关的知识,希望对你有一定的参考价值。

      示例代码1:

将length计算放在循环体外面,在leetcode运行时,结果只打败了26%的人。

	public void moveZeroes(int[] nums) {
		int counter = 0;
		for (int i = 0; i < nums.length; i++) {
			if (nums[i] != 0)
				nums[counter++] = nums[i];
		}
		for (int j = counter; j < nums.length; j++) {
			nums[j] = 0;
		}
	}

  示例代码2:

将length计算放在循环体外面,用一个变量size保存数组的length,在leetcode运行时,结果打败了89%的人,可见小小的一个改变,提升很大。

	public void moveZeroes(int[] nums) {
		int size = nums.length;
		int counter = 0;
		for (int i = 0; i < size; i++) {
			System.out.println("i:" + i + ",counter:" + counter);
			if (nums[i] != 0)
				nums[counter++] = nums[i];
		}
		for (int j = counter; j < size; j++) {
			nums[j] = 0;
		}
	}

  

以上是关于Java中将数组的length计算放在循环体外面可以提升运行速度的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中将变量的值添加到数组中?

我有一个for循环,把数据放到数组里,怎么在for循环外面取到数组的值

对于Python和Java之间的循环差异

在 dev-c++ 中将数组放在一起

数组的Length属性用起来比把长度放在一个局部变量高效

java在数组里查找数据