2016-04-19 10 views

Antwort

1

Sie können Array nach Schleife über das Array löschen und jedes Element auf null setzen.

Für String Fall:

for(int i = 0; i < arryNumbers.length; i++) 
    Arrays.fill(arryNumbers[i], null); 

Für int Fall:

for (int row = 0; row < ROW.length; row++) { 
    for (int col = 0; col < COL.length; col++) { 
     arry[row][col] = 0; 
    } 
} 

Sie nehmen Backup, indem sie (tiefe Kopie) des Arrays.

Tief Copy-Code:

public int[][] copy(int[][] input) { 
     int[][] target = new int[input.length][]; 
     for (int i=0; i <input.length; i++) { 
     target[i] = Arrays.copyOf(input[i], input[i].length); 
     } 
     return target; 
} 
+2

Sie können 'null' nicht in der fill-Methode eines int [] - Arrays verwenden:' Arrays.fill (int [], int) ' –

1

Sie eine Sicherung: arrayNumbers.clone();

Um alle Elemente zu entfernen, denke ich, sollten Sie es selbst mit "for" Schleifenanweisungen tun. (Oder es stellt es wieder auf null und instanziiert)

0

Wahrscheinlich nicht, was Sie suchen, aber das tun, was Sie wahrscheinlich den schnellsten Weg fragen in:

int[][] newArray = oldArray; 
oldArray=new int[4][5]; 

Dies ist der schnellste Weg, um zu erreichen, was Sie beschreiben, . Beachten Sie, dass beim Initialisieren eines neuen Arrays die Werte im Fall von int auf '0' gesetzt werden, im Falle von Objekten auf 'null'.

PS. Wenn alt oldArray nicht symmetrisch ist, dann können Sie jede "Zeile" einfach iterieren und initialisieren.