Comment copier le tableau en java

Comment copier le tableau en java
Si un tableau est copié dans un autre, le résultat doit être qu'il y a deux tableaux indépendants avec deux noms différents mais avec les mêmes valeurs correspondantes. Un changement dans la valeur d'un élément de tableau ne doit entraîner aucun changement dans l'élément correspondant de l'autre tableau.

Lorsqu'un tableau est vraiment copié sur un autre, si la longueur du nouveau tableau est plus courte que la longueur du tableau d'origine, le nouveau tableau est une copie mais tronqué à la longueur copiée. Si le nouveau tableau est plus long, les éléments supplémentaires vers sa fin sont remplis des valeurs par défaut du type de données. Pour qu'un tableau soit copié sur un autre, les deux tableaux doivent être du même type ou des types compatibles.

Java a une méthode pour copier un tableau vers un autre. Cette méthode est la méthode CopyOf (), et elle est surchargée pour les différents types de données. C'est une méthode statique de la classe de tableau. «Statique» signifie qu'un tableau ne doit pas être instancié pour que la méthode soit utilisée. Il utilise le nom de classe, Array, avec le premier «A» en majuscule. La méthode renvoie le tableau copié. Cet article explique les différentes formes surchargées de la méthode CopyOf (). Il comprend comment copier les types de référence. Comment copier une plage de tableau n'est pas laissé de côté.

Copie d'un tableau de valeurs booléennes

La syntaxe est:

Static booléen [] copie (booléen [] original, int newlength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, false est rembourré en valeurs vers le nouveau tableau pour avoir la nouvelle longueur. Le programme suivant illustre ceci:

Importer Java.user.Tableaux;
classe publique TheClass
public static void main (String [] args)
Boolean [] orig = true, true, true, true, true;
booléen [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
booléen [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
booléen [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

vrai vrai vrai
vrai vrai vrai vrai vrai
vrai vrai vrai vrai vrai vrai faux faux

Pour la première ligne de sortie, il y a une troncature. Pour la deuxième ligne de sortie, les deux tableaux sont les mêmes. Le nouveau tableau est plus long que le tableau d'origine pour la troisième ligne de sortie.

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de valeurs d'octets

La syntaxe est:

octet statique [] copie (octet [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Le code de méthode main () suivant illustre ceci:

octet statique [] copie (octet [] original, int newLength)
L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Le code de méthode main () suivant illustre ceci:
public static void main (String [] args)
octet [] orig = 1, 2, 3, 4, 5;
octet [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
octet [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
octet [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1 2 3
1 2 3 4 5
1 2 3 4 5 0 0

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de valeurs de charbon

La syntaxe est:

Static char [] copie (char [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, "est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
char [] orig = 'a', 'b', 'c', 'd', 'e';
char [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
char [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
char [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

A B C
A b c d e
A b c d e "

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de doubles valeurs

La syntaxe est:

Copie statique double [] (double [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. Si c'est plus long, 0.0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
double [] orig = 1.5, 2.5, 3.5, 4.5, 5.5;
Double [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
Double [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
Double [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1.5 2.5 3.5
1.5 2.5 3.5 4.5 5.5
1.5 2.5 3.5 4.5 5.5 0.0 0.0

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de valeurs flottantes

La syntaxe est:

float statique [] copie (float [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. Si c'est plus long, 0.0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
float [] orig = 1.5f, 2.5f, 3.5f, 4.5f, 5.5f;
float [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
float [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
float [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1.5 2.5 3.5
1.5 2.5 3.5 4.5 5.5
1.5 2.5 3.5 4.5 5.5 0.0 0.0

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de valeurs int

La syntaxe est:

statique int [] copie (int [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
int [] orig = 1, 2, 3, 4, 5;
int [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
int [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
int [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1 2 3
1 2 3 4 5
1 2 3 4 5 0 0

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de longues valeurs

La syntaxe est:

Static long [] copie (long [] original, int newLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
long [] orig = 1, 2, 3, 4, 5;
long [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
long [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
long [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1 2 3
1 2 3 4 5
1 2 3 4 5 0 0

La longueur du nouveau tableau est déterminée par le paramètre NewLength de la syntaxe de la méthode de copie ().

Copie d'un tableau de valeurs courtes

La syntaxe est:

STATIQUE COPIE STATIQUE [] (Short [] Original, int NewLength)

L'original est le nom du tableau d'origine. NewLength est la longueur du tableau nouveau ou copié. S'il est plus court, la copie est tronquée à NewLength. S'il est plus long, 0 est rembourré comme des valeurs au nouveau tableau, pour avoir le nouveau long. Exemple de code:

public static void main (String [] args)
court [] orig = 1, 2, 3, 4, 5;
Bref [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
Bref [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
Bref [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

1 2 3
1 2 3 4 5
1 2 3 4 5 0 0

Copie d'un éventail de types de données de référence

Un bon exemple du type de données de référence est l'objet String, instancié à partir de la classe de chaîne. Sa syntaxe Copyof () est la même que les syntaxes ci-dessus. Le code suivant illustre ceci:

Importer Java.user.Tableaux;
classe publique TheClass
public static void main (String [] args)
String [] orig = "one", "deux", "trois", "quatre", "cinq";
String [] cpy1 = tableaux.copie (orig, 3);
pour (int i = 0; i< cpy1.length; i++) System.out.print(cpy1[i]); System.out.print("); System.out.println();
String [] cpy2 = tableaux.copie (orig, 5);
pour (int i = 0; i< cpy2.length; i++) System.out.print(cpy2[i]); System.out.print("); System.out.println();
String [] cpy3 = ​​tableaux.copie (orig, 7);
pour (int i = 0; i< cpy3.length; i++) System.out.print(cpy3[i]); System.out.print("); System.out.println();

La sortie est:

un, deux, trois
un deux trois quatre cinq
un deux trois quatre cinq null null

La valeur par défaut du type de données de référence est nul.

Copie d'une gamme

La gamme d'un tableau peut être copiée. La syntaxe pour copier la plage d'un tableau de caractères est:

statique char [] copieofrange (char [] original, int from, int to)

«From» est le premier index, et «to» est le dernier index, dont la valeur de la plage, n'est tout simplement pas incluse, dans la copie. Exemple de code:

public static void main (String [] args)
char [] orig = 'a', 'b', 'c', 'd', 'e';
char [] cpy = tableaux.CopyOfRange (orig, 1, 3);
pour (int i = 0; i

La sortie est:

AVANT JC

La copie des gammes de types de données primitives et de référence est similaire à ce code.

Conclusion

La classe de tableau a la méthode surchargée statique pour copier les tableaux. Il est utilisé pour copier tout le tableau. Si le tableau copié est court, la copie sera faite sur la longueur tronquée indiquée. Si le tableau copié est plus long que le tableau d'origine, la valeur par défaut sera rembourrée pour les éléments supplémentaires supplémentaires. La méthode statique CopyOfRange () peut être utilisée pour copier une plage. La prochaine chose que le lecteur devrait étudier est de savoir comment copier un tableau de types génériques, .