Javascript Copiar Matriz de Objetos Sem Referência
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
Ao trabalhar com arrays em Java, você pode decidir fazer uma cópia de um array. Por exemplo, se você estiver administrando um café e quiser criar um menu sazonal , poderá criar uma cópia do menu original para basear o novo menu.
Em Java, há várias maneiras de copiar uma matriz. Este tutorial irá explorar quatro métodos comuns de copiar tabelas e discutir como eles funcionam linha por linha. Depois de ler este tutorial, você será um mestre em copiar tabelas em Java.
Java Arrays
Em Java, um array é um contêiner que contém valores ‚Äã‚Äãque contêm um único tipo. Por exemplo, uma tabela pode ser usada para armazenar uma lista de livros ou uma lista de pontuações que os jogadores ganharam em um jogo de dardos.
As matrizes são úteis quando você deseja trabalhar com muitos valores ‚Äã‚ Äãporque você pode armazená-los em uma coleção. Isso permite que você condense seu código e simultaneamente execute os mesmos métodos nos mesmos valores.
A palavra Let queremos criar um array que armazene os cafés vendidos em nossa cafeteria. Podemos fazer isso usando este código:
String [] = coffees {"Espresso", "Mocha", "Latte", "cappuccino", "Versare Over", "Flat white" } ;
Neste exemplo, declaramos um array chamado cafes
que armazena valores de string . Nossa matriz contém seis valores.
Cada elemento de uma matriz recebe um número de índice, começando com 0, que pode ser usado para se referir a elementos individuais em uma matriz.
Agora que exploramos o básico dos arrays Java, podemos discutir os métodos que você pode usar para copiar o conteúdo da sua tabela.
Copie o array usando o operador de atribuição
Um dos métodos de clonagem mais usados para copiar uma matriz é usar o operador de atribuição.
O operador de atribuição é usado para atribuir um valor a uma matriz. Usando o operador de atribuição, podemos atribuir o conteúdo de um array existente para uma nova variável, que criará uma cópia do nosso array existente.
Vamos voltar para o coffeeshop. Digamos que queremos criar uma cópia do cafes
array no qual basearemos nosso menu de café de verão. Podemos usar este código para criar uma cópia do array:
Nosso código retorna:
Espresso, Moka, Latte, Cappuccino, Pour over, flat white,
Quebra do nosso código Descendente. Na primeira linha de código em nossa classe CopyAssignment, declaramos um array chamado cafes
que armazena nosso menu padrão de café.
Na próxima linha, usamos o operador de atribuição para atribuir o valor de cafes
para um novo array chamado summer_coffees
. Em seguida, criamos um loop "for-each‚" que passa cada elemento do array summer_coffees
e imprime no console.
Há uma desvantagem em usar esse método: se você alterar os elementos de uma matriz, a outra matriz também será alterada. Portanto, se alterarmos o valor de Latte
Summer Latte
em nossa lista summer_coffee
, nossa lista coffee
também seria alterada
loop para copiar arrays
a primeira abordagem que discutimos para copiar um array -. usando o operador de atribuição - cria o que é chamado de cópia superficial.
Este é o caso porque atribuímos um objeto array existente a um novo, o que significa que quando alteramos qualquer objeto, ambos serão alterados - . os dois objetos estão relacionados
No entanto, muitas vezes precisamos criar uma cópia profunda . Cópias profundas copiam os valores ‚Äã‚Äão de um objeto existente e criam um novo objeto de matriz. Ao criar uma cópia completa, você pode editar seu novo tabela sem afetar o original.
Uma abordagem que pode ser usada para criar uma cópia completa é criar um loop
através do conteúdo de um array e criar um novo array.
Suponha que nós deseja criar uma cópia completa da nossa tabela de cafés
chamada summer_coffees.
Esta deve ser uma cópia completa, pois pretendemos modificar o conteúdo da summer_coffees
tabela para refletir os novos cafés que ofereceremos nos meses de verão.
Aqui está o código que usaríamos para criar uma cópia profunda usando um loop
:
Quando executamos nosso código, a saída é a seguinte:
[Espresso, Mocha, Latte, Cappuccino, Pour over, Flat White]
Como você pode ver, nosso código criou uma cópia do nosso array original. Explicamos passo a passo como funciona:
- Importamos
java.util.Arrays
que inclui o método toString(), vamos usá-lo para imprimir nosso array no console no final do exemplo.
- Declaramos um array chamado
cafes
que armazena a lista de cafés em nosso menu padrão. - Iniciamos um array chamado
summer_coffees
que pode armazenar seis valores. - Usamos um loop para percorrer cada item na lista
do café. - Sempre que o loop for executado, o elemento com o valor de índice
i
em summer_coffees será atribuído ao elemento com o valor de índice de código <> i em cafés. - Usamos Arrays.toString () para converter
summer_coffees
em uma string e, em seguida, imprimimos o novo array com nossos itens copiados no console.
O método Java copyOfRange() para copiar Arrays .copyOfRange ( ) faz parte da classe java.util.Arrays Aqui está a sintaxe para o método copyOfRange():