簡體   English   中英

將所有數組元素重新初始化為零Java

[英]Reinitialize all array elements to zero java

我有一個二維數組,每次迭代后都需要將其初始化為0,這是最好的方法(最快)。

  • 使用for循環以傳統方式進行
  • 或通過執行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM