Javascript Kopieren Array Von Objekten Ohne Referenz
array Python module |
Arrays |
ast Python module |
code Python module |
COM PHP module |
copy Python module |
dis Python module |
Ev PHP module |
exp |
imp Python module |
io Python module |
JavaScript |
Mocha JavaScript library |
Network PHP module |
operator Python module |
os Python module |
Python functions |
Rar PHP module |
re Python module |
StackOverflow |
string Python module |
sys Python module |
Yar PHP module
Michael Zippo
04.11.2021
Wenn Sie in Java mit Arrays arbeiten, m√∂chten Sie m√∂glicherweise eine Kopie eines Arrays erstellen. Wenn Sie beispielsweise ein Café betreiben und eine saisonale Speisekarte erstellen m√∂chten, k√∂nnen Sie eine Kopie Ihrer ursprunglichen Speisekarte erstellen, auf der die neue Speisekarte basieren kann.
In Java gibt es verschiedene Möglichkeiten, ein Array zu kopieren. In diesem Tutorial werden vier gängige Methoden zum Kopieren von Arrays untersucht und deren zeilenweise Funktionsweise erläutert. Nachdem Sie dieses Tutorial gelesen haben, sind Sie ein Meister im Kopieren von Arrays in Java.
Java-Arrays
In Java ist ein Array ein Container, der Werte enth√§lt, die einen enthalten einziger Typ. Ein Array kann beispielsweise verwendet werden, um eine Liste von Buchern zu speichern oder eine Liste der Punkte, die Spieler in einem Dartspiel erzielt haben.
Arrays sind nutzlich, wenn Sie mit vielen ähnlichen arbeiten möchten Werte, weil Sie sie alle in einer Sammlung speichern können. Auf diese Weise können Sie Ihren Code komprimieren und gleichzeitig dieselben Methoden mit ähnlichen Werten ausfuhren.
Angenommen, wir möchten ein Array erstellen, das die in unserem Coffeeshop verkauften Kaffees speichert. Wir könnten dies mit diesem Code tun:
String[] coffees = {"Espresso‚", "Mocha‚", "Latte‚", "Cappuccino‚", "Pour Over", "Flat White‚"};
In diesem Beispiel deklarieren wir ein Array namens coffees
, das String-Werte speichert. Unser Array enth√§lt sechs Werte.
Jedem Element in einem Array wird eine bei 0 beginnende Indexnummer zugewiesen, die verwendet werden kann, um Elemente in einem Array einzeln zu referenzieren.
Jetzt haben wir es erforscht die Grundlagen von Java-Arrays, können wir Methoden besprechen, mit denen Sie den Inhalt Ihres Arrays kopieren können.
Array mit Zuweisungsoperator kopieren
Eine der g√§ngigsten Klonmethoden Zum Kopieren eines Arrays wird der Zuweisungsoperator verwendet.
Der Zuweisungsoperator wird verwendet, um einem Array einen Wert zuzuweisen. Mit dem Zuweisungsoperator können wir den Inhalt eines vorhandenen Arrays einer neuen Variablen zuweisen, wodurch eine Kopie unseres vorhandenen Arrays erstellt wird.
Kehren wir zum Coffeeshop zuruck. Angenommen, wir möchten eine Kopie des Arrays coffees
erstellen, auf der unser Sommerkaffeemenu basiert. Wir könnten diesen Code verwenden, um eine Kopie des Arrays zu erstellen:
Unser Code gibt zuruck:
Espresso, Mokka, Latte, Cappuccino, Pour Over, Flat White,
Lassen Sie uns unseren Code aufschlusseln. In der ersten Codezeile in unserer CopyAssignment-Klasse deklarieren wir ein Array namens coffees
, das unser Standardkaffeemenu speichert.
In der n√§chsten Zeile verwenden wir die Zuweisung Operator, um den Wert von coffees
einem neuen Array namens summer_coffees
zuzuweisen. Dann erstellen wir ein "fur-jeden‚" Schleife, die jedes Element im Array summer_coffees
durchl√§uft und auf der Konsole ausgibt.
Die Verwendung dieser Methode hat einen Nachteil: Wenn Sie Elemente von einem √§ndern Array, das andere Array wird ebenfalls ge√§ndert. Wenn wir also den Wert von Latte
in Summer Latte
in unserer summer_coffees
-Liste ge√§ndert haben, w√§re unsere coffees
-Liste auch ge√§ndert.
Schleife zum Kopieren von Arrays
Der erste von uns besprochene Ansatz zum Kopieren eines Arrays – mit dem Zuweisungsoperator – erzeugt eine sogenannte flache Kopie.
Dies ist der Fall, weil wir ein vorhandenes Array-Objekt einem neuen zugewiesen haben, was bedeutet, dass, wenn wir ein Objekt ändern, beide geändert werden – die beiden Objekte sind verknupft.
Allerdings mussen wir oft eine tiefe Kopie erstellen. Tiefe Kopien kopieren die Werte aus einem vorhandenen Objekt und erstellen ein neues Array-Objekt. Wenn Sie eine tiefe Kopie erstellen, können Sie Ihr neues Array ändern, ohne das ursprungliche zu beeinträchtigen.
Ein Ansatz, der zum Erstellen einer tiefen Kopie verwendet werden kann, besteht darin, einen fur
-Schleife, die den Inhalt eines Arrays durchl√§uft und ein neues Array erstellt.
Angenommen, wir möchten eine tiefe Kopie unseres Kaffees
-Arrays namens . erstellen summer_coffees.
Dies muss eine tiefe Kopie sein, da wir planen, den Inhalt des Arrays summer_coffees
zu √§ndern, um die neuen Kaffees widerzuspiegeln, die wir in den Sommermonaten anbieten werden.
< /p>
Hier ist der Code, den wir verwenden wurden, um eine tiefe Kopie mit einer for
-Schleife zu erstellen:
Wenn wir unseren Code ausfuhren, sieht die Ausgabe wie folgt aus:
[Espresso, Mocha, Latte, Cappuccino, Pour Over, Flat White]
Wie Sie sehen, hat unser Code eine Kopie unseres ursprunglichen Arrays erstellt. Lassen Sie uns Schritt fur Schritt erkl√§ren, wie es funktioniert:
- Wir importieren
java.util.Arrays
, das die Methode toString() enthält, wir’ Am Ende des Beispiels wird unser Array an die Konsole ausgegeben.
- Wir deklarieren ein Array namens
Kaffee
, das die Liste der Kaffees auf . speichert unser Standardmenu. - Wir initialisieren ein Array namens
summer_coffees
, das sechs Werte speichert. - Wir verwenden eine for-Schleife, um jedes Element in der
coffees
list. - Jedes Mal, wenn die for-Schleife ausgefuhrt wird, wird dem Element mit dem Indexwert
i
in summer_coffees das Element mit dem Indexwert . zugewiesen i
in Kaffee. - Wir verwenden Arrays.toString(), um
summer_coffees
in einen String umzuwandeln, und geben dann das neue Array mit unseren kopierten Elementen an die Konsole aus.
Die Java-Methode copyOfRange() wird zum Kopieren von Arrays verwendet.copyOfRange() ist Teil der java.util.Arrays-Klasse Hier ist die Syntax fur die Methode copyOfRange():