[英]Reinitialize all array elements to zero java
我有一個二維數組,每次迭代后都需要將其初始化為0,這是最好的方法(最快)。
或通過執行myarray=new long[size][size];
再次為其分配內存myarray=new long[size][size];
long myarray[][]=new long[size][size] for(.....) { //..do something with myarray //..set all elements of myarray to 0 for next iteration }
PS-我需要它來優化編碼競賽。
您可以使用Arrays.fill
函數:
for (long[] subarray : myarray) {
Arrays.fill(subarray, 0);
}
僅供參考,您無需將所有元素明確設置為零。 myarray=new long[size][size]
將在元素中填充默認值零。 請參閱變量的初始值 :
每個類變量,實例變量或數組組件在創建時都會用默認值初始化 (第15.9節,第15.10.2節):
對於
byte
類型,默認值為零,即(byte)0的值。對於
short
類型,默認值為零,即(short)0的值。對於
int
類型,默認值為零,即0。對於
long
類型,默認值為零,即0L 。
如果大小很大,則設置值會更有效:
for (int i = 0; i < myarray.length; i++) {
for (int j = 0; j < myarray[i].length; j++) {
myarray[i][j] = 0;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.