Javascript Copia Array Di Oggetti Senza Riferimento
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
Quando lavori con gli array in Java, puoi decidere di creare una copia di un array. Ad esempio, se gestisci una caffetteria e desideri creare un menu stagionale, potresti voler creare una copia del menu originale su cui basare il nuovo menu.
In Java, esistono diversi modi in cui è possibile copiare un array. Questo tutorial esplorerà quattro metodi comuni per copiare gli array e discuterà come funzionano riga per riga. Dopo aver letto questo tutorial, sarai un maestro nel copiare gli array in Java.
Array Java
In Java, un array è un contenitore che contiene valori che ne contengono uno unico tipo. Ad esempio, un array potrebbe essere utilizzato per memorizzare un elenco di libri o un elenco di punteggi che i giocatori hanno guadagnato in una partita a freccette.
Gli array sono utili quando si desidera lavorare con molti valori perché puoi memorizzarli tutti in un’unica raccolta. Ciò ti consente di condensare il tuo codice ed eseguire contemporaneamente gli stessi metodi su valori simili.
Supponiamo di voler creare un array che memorizzi i caffè venduti nel nostro coffeeshop. Potremmo farlo usando questo codice:
String[] coffees = {"Espresso", "Mocha", "Latte", "Cappuccino", "Versare Over", "Flat White"};
In questo esempio, dichiariamo un array chiamato coffees
che memorizza i valori String. Il nostro array contiene sei valori.
A ogni elemento di un array viene assegnato un numero di indice, a partire da 0, che può essere utilizzato per fare riferimento agli elementi singolarmente in un array.
Ora che abbiamo esplorato le basi degli array Java, possiamo discutere i metodi che puoi usare per copiare il contenuto del tuo array.
Copia l’array usando l’operatore di assegnazione
Uno dei metodi di clonazione più comuni utilizzato per copiare un array è utilizzare l’operatore di assegnazione.
L’operatore di assegnazione viene utilizzato per assegnare un valore a un array. Utilizzando l’operatore di assegnazione, possiamo assegnare il contenuto di un array esistente a una nuova variabile, che creerà una copia del nostro array esistente.
Torniamo al coffeeshop. Supponiamo di voler creare una copia dell’array coffees
su cui baseremo il nostro menu di caffè estivo. Potremmo usare questo codice per creare una copia dell’array:
Il nostro codice ritorna:
Espresso, Mocha, Latte, Cappuccino, Pour Over, Flat White,
Scomponiamo il nostro codice. Sulla prima riga di codice all’interno della nostra classe CopyAssignment, dichiariamo un array chiamato coffees
che memorizza il nostro menu caffè standard.
Nella riga successiva, usiamo l’assegnazione operatore per assegnare il valore di coffees
a un nuovo array chiamato summer_coffees
. Quindi creiamo un "per-ogni" ciclo che scorre ogni elemento nell’array summer_coffees
e lo stampa sulla console.
C’è uno svantaggio nell’usare questo metodo: se si modificano gli elementi di uno array, anche l’altro array verrà modificato. Quindi, se cambiassimo il valore di Latte
in Summer Latte
nella nostra lista summer_coffee
, anche la nostra lista caffè
sarebbe cambiato.
Ciclo per copiare gli array
Il primo approccio che abbiamo discusso per copiare un array ‚Äî usando l’operatore di assegnazione ‚Äî crea quella che viene chiamata una copia superficiale.
Questo è il caso perché abbiamo assegnato un oggetto array esistente a uno nuovo, il che significa che quando cambiamo qualsiasi oggetto, saranno entrambi cambiati ‚Äî i due oggetti sono collegati.
Tuttavia, spesso abbiamo bisogno di creare una copia profonda. Le copie profonde copiano i valori da un oggetto esistente e creano un nuovo oggetto array. Quando crei una copia completa, puoi modificare il tuo nuovo array senza influire su quello originale.
Un approccio che può essere utilizzato per creare una copia completa è creare un per
ciclo che itera attraverso il contenuto di un array e crea un nuovo array.
Supponiamo di voler creare una copia completa del nostro array coffees
chiamato summer_coffees.
Questa deve essere una copia approfondita perché abbiamo intenzione di cambiare il contenuto dell’array summer_coffees
per riflettere i nuovi caffè che offriremo nei mesi estivi.
< /p>
Ecco il codice che useremmo per creare una copia profonda utilizzando un ciclo for
:
Quando eseguiamo il nostro codice, l’output è il seguente:
[Espresso, Mocha, Latte, Cappuccino, Pour Over, Flat White]
Come puoi vedere, il nostro codice ha creato una copia del nostro array originale. Spieghiamo come funziona passo dopo passo:
- Importiamo
java.util.Arrays
che include il metodo toString(), noi‚Äô Useremo per stampare il nostro array sulla console alla fine dell’esempio.
- Dichiariamo un array chiamato
coffees
che memorizza l’elenco dei caffè su il nostro menu standard. - Inizializziamo un array chiamato
summer_coffees
che memorizzerà sei valori. - Utilizziamo un ciclo for per scorrere ogni elemento nel
coffees
list. - Ogni volta che viene eseguito il ciclo for, all’elemento con il valore di indice
i
in summer_coffees verrà assegnato l’elemento con il valore di indice i
in coffees. - Usiamo Arrays.toString() per convertire
summer_coffees
in una stringa, quindi stampiamo il nuovo array con i nostri elementi copiati sulla console.
Il metodo Java copyOfRange() viene utilizzato per copiare Arrays.copyOfRange() fa parte della classe java.util.Arrays Ecco la sintassi per il metodo copyOfRange():