Heim >Java >javaLernprogramm >So kopieren Sie effektiv ein 2D-Array in Java: „clone()' vs. „System.arraycopy()'.

So kopieren Sie effektiv ein 2D-Array in Java: „clone()' vs. „System.arraycopy()'.

DDD
DDDOriginal
2024-10-28 21:23:02211Durchsuche

How to Effectively Copy a 2D Array in Java: `clone()` vs. `System.arraycopy()`

So kopieren Sie ein 2D-Array in Java

Das Kopieren eines 2D-Arrays in Java kann eine knifflige Aufgabe sein. Eine Möglichkeit besteht darin, Schleifen zu verwenden, um jedes Element manuell aus dem ursprünglichen Array in das neue Array zu kopieren. Dies kann jedoch mühsam und fehleranfällig sein.

Eine bessere Möglichkeit, ein 2D-Array zu kopieren, ist die Verwendung der clone()-Methode oder System.arraycopy().

Using clone

Die clone()-Methode erstellt ein neues Array, das eine Kopie des ursprünglichen Arrays ist. Um die clone()-Methode zu verwenden, können Sie Folgendes tun:

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
    myInt[i] = matrix[i].clone();
</code>

System.arraycopy() verwenden

Die System.arraycopy()-Methode ist eine andere Möglichkeit, ein Array zu kopieren. Es werden die folgenden Parameter benötigt:

  • Das Quellarray
  • Der Startindex im Quellarray
  • Das Zielarray
  • Der Startindex in das Zielarray
  • Die Anzahl der zu kopierenden Elemente

Um System.arraycopy() zum Kopieren eines 2D-Arrays zu verwenden, können Sie Folgendes tun:

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
{
  int[] aMatrix = matrix[i];
  int   aLength = aMatrix.length;
  myInt[i] = new int[aLength];
  System.arraycopy(aMatrix, 0, myInt[i], 0, aLength);
}</code>

Sowohl die clone()-Methode als auch System.arraycopy() sind effiziente Möglichkeiten, ein 2D-Array zu kopieren. Allerdings ist System.arraycopy() im Allgemeinen schneller und weniger fehleranfällig.

Das obige ist der detaillierte Inhalt vonSo kopieren Sie effektiv ein 2D-Array in Java: „clone()' vs. „System.arraycopy()'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn