java中双重for优化案例
时间: 2024-03-05 20:48:34 浏览: 76
以下是一个Java中双重for循环优化的示例代码:
```java
int[][] matrix = new int[1000][1000];
long startTime = System.currentTimeMillis();
// 双重for循环
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
matrix[i][j] = i * j;
}
}
long endTime = System.currentTimeMillis();
System.out.println("双重for循环执行时间:" + (endTime - startTime) + "ms");
startTime = System.currentTimeMillis();
// 优化后的双重for循环
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
matrix[i][j] = i * j;
matrix[j][i] = i * j;
}
}
endTime = System.currentTimeMillis();
System.out.println("优化后的双重for循环执行时间:" + (endTime - startTime) + "ms");
```
在上述代码中,我们使用双重for循环来遍历一个1000x1000的矩阵,并将i*j的值赋给矩阵中对应位置的元素。为了优化双重for循环,我们将内层for循环中的赋值语句i*j的值赋给matrix[i][j]和matrix[j][i]两个位置,从而减少内层for循环的循环次数。通过对比两次for循环的执行时间,可以看出优化后的双重for循环执行时间更短,代码效率更高。
阅读全文