Java - Arrays kopieren

Inhaltsverzeichnis
Sobald Sie die Konzepte von Array und wie man es ausfüllt und durchgeht, werden wir sicherlich auch generieren müssen Kopien von Arrays, da wir oft den Inhalt dieses Arrays verarbeiten müssen, ohne ein Original zu ändern, das wir für andere Zwecke verwenden.
Auch wenn sich das Kopieren nach einer sehr einfachen Tätigkeit anhört, ist es in Wirklichkeit etwas komplexer als das Zuweisen der Array-Wert in eine andere deklarierte Variable dieses Typs.
Kopieren von Arrays
Als Teil der Logik unserer Programme werden wir wahrscheinlich irgendwann brauchen ein Array in eine andere Variable kopierenUm mit den Elementen in einer anderen Instanz des Programms arbeiten zu können, wie eingangs erwähnt, ist es nicht die geeignete Lösung, die Variable, die das Array enthält, einer anderen zuzuweisen.
Angenommen, wir machen die Aufgabe wie folgt:
varArrar2 = varArray1;

In diesem Fall liegt kein syntaktischer Fehler vor, sodass die Anweisung problemlos funktioniert, auch wenn wir versuchen, eine Schleife zu erstellen varArray2 Wir werden die Werte erhalten, von denen wir wissen, dass wir sie haben varArray1, du fragst dich wo dann das Problem liegt, das Problem ist das in dieser Anleitung was du gemacht hast Java war es, die Referenz auf den Inhalt des ersten Arrays zu kopieren. Wenn wir also eine Änderung in einem der beiden vornehmen, sehen beide die Änderung.
Wie wir sehen, ist dies keine sehr effektive Methode, es sei denn, wir möchten die Referenz effektiv kopieren.
Korrektes Kopieren eines ArraysEs gibt mehrere Möglichkeiten, die Kopie eines Arrays, mit einer Schleife, die das erste Array durchläuft und die Werte dem zweiten zuweist, mit der statische Arraycopy-Methode was ist in der klasse enthalten System und schließlich mit dem KlonmethodeLetzteres ist jedoch etwas fortgeschrittener als das, was wir hier sehen.
Verwenden einer Schleife
Dies ist die einfachste Methode von allen, obwohl sie etwas mühsam ist, erfüllt sie das Ziel korrekt und ermöglicht es uns, ein neues Array zu erhalten, das die Kopie des Originals und davon völlig unabhängig ist mach folgendes:
 int [] varArray1 = {2, 3, 1, 5, 10}; int [] varArray2 = new int [varArray1.length]; for (int i = 0; i <varArray1.length; i ++) {varArray2 [i] = varArray1 [i]; } 

Wie wir sehen, ist es etwas ganz Einfaches, wir haben unsere erstes Array mit einer Reihe von Werten, die bereits in seinem Inhalt zugewiesen sind, erstellen wir ein zweites Array und wir geben an, dass seine Dimension die Länge des ursprünglichen Arrays sein wird und schließlich mit a für Schleife Wir weisen unserem neuen Array den Wert zu, der der Position des Zyklus des ersten Arrays entspricht.
Verwenden der Arraycopy-Methode
Ein einfacherer Weg, der etwas weniger Code verwendet, ist die statische Methode Arraykopie, diese Methode bricht die Namenskonvention von Java es funktioniert jedoch korrekt, um es zu verwenden, müssen wir Folgendes tun:
System.arraycopy (varArray1, varArray1_pos, varArray2, varArray2_pos, Länge);

Wie wir in einer einzigen Zeile sehen können, lösen wir das Problem, die Methode erhält in ihrem ersten Argument das Array, das wir kopieren werden, dann die Anfangsposition, von der aus wir kopieren werden, dann das Zielarray der Kopie , seine Anfangsposition und schließlich die Kopienlänge:

Schließlich haben wir gesehen, dass das Kopieren eines Arrays, obwohl es nicht so einfach ist wie die Zuweisung von Variablen, mit den in diesem Tutorial beschriebenen Methoden eine relativ einfache Aufgabe ist.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave