La méthode Arrays.copyOf() en Java est une fonction utilitaire fournie par la classe java.util.Arrays. Il est utilisé pour créer un nouveau tableau en copiant la plage d'éléments spécifiée à partir d'un tableau existant. Cette méthode est utile pour le redimensionnement des tableaux, la copie partielle de tableaux et la création de sauvegardes de tableaux.
Utilisation
Arrays.copyOf() est couramment utilisée lorsque vous devez dupliquer un tableau de taille différente ou lorsque vous souhaitez ne copier qu'une partie d'un tableau. Il renvoie un nouveau tableau contenant les éléments copiés, et le tableau d'origine reste inchangé.
Syntax
publicstatic<T>T[]copyOf(T[] original, int newLength)Propulsé par
original: Le tableau dont les éléments doivent être copiés.
newLength: La longueur du nouveau tableau. S'il est supérieur à la longueur du tableau original, le nouveau tableau est complété par des valeurs par défaut.
Dans cet exemple, Arrays.copyOf() est utilisé pour créer une copie exacte de originalArray. Le nouveau tableau copiedArray contient tous les éléments du tableau original.
Ici, Arrays.copyOf() est utilisé pour créer un nouveau tableau extendedArray d'une longueur de 5. Les éléments supplémentaires sont initialisés à la valeur par défaut de 0 pour le type int.
Dans cet exemple, Arrays.copyOf() crée un nouveau tableau truncatedArray contenant uniquement les deux premiers éléments de originalArray.
Conseils et bonnes pratiques
Original immuable: Le tableau original n'est pas modifié par Arrays.copyOf(), ce qui garantit l'intégrité des données.
Valeurs par défaut: Lorsque la longueur du nouveau tableau est supérieure à celle de l'original, les nouveaux éléments prennent des valeurs par défaut (0, null, false, etc.).
Types de tableaux: Arrays.copyOf() fonctionne avec tous les types de primitives et d'objets, ce qui le rend polyvalent pour divers types de données.
Performance: Soyez attentif aux performances lorsque vous copiez de grands tableaux, car cela implique la création d'un nouveau tableau et la copie d'éléments.
Comprendre la copie superficielle et la copie profonde
Arrays.copyOf() produit une copie superficielle, où les références aux éléments originaux sont copiées plutôt que les objets eux-mêmes. Il est important de s'en souvenir lorsqu'il s'agit de structures de données complexes telles que des tableaux 2D ou des tableaux d'objets, où les modifications apportées aux objets du tableau d'origine peuvent se répercuter sur le tableau copié.
Exceptions
NegativeArraySizeException: Lancé si le paramètre newLength est négatif.
NullPointerException: Lancé si le tableau original est null.
La méthode
Arrays.copyOf()en Java est une fonction utilitaire fournie par la classejava.util.Arrays. Il est utilisé pour créer un nouveau tableau en copiant la plage d'éléments spécifiée à partir d'un tableau existant. Cette méthode est utile pour le redimensionnement des tableaux, la copie partielle de tableaux et la création de sauvegardes de tableaux.Utilisation
Arrays.copyOf()est couramment utilisée lorsque vous devez dupliquer un tableau de taille différente ou lorsque vous souhaitez ne copier qu'une partie d'un tableau. Il renvoie un nouveau tableau contenant les éléments copiés, et le tableau d'origine reste inchangé.Syntax
original: Le tableau dont les éléments doivent être copiés.newLength: La longueur du nouveau tableau. S'il est supérieur à la longueur du tableau original, le nouveau tableau est complété par des valeurs par défaut.Exemples
Exemple 1 : Copie d'un tableau entier
Dans cet exemple,
Arrays.copyOf()est utilisé pour créer une copie exacte deoriginalArray. Le nouveau tableaucopiedArraycontient tous les éléments du tableau original.Exemple 2 : Copie avec un format plus grand
Ici,
Arrays.copyOf()est utilisé pour créer un nouveau tableauextendedArrayd'une longueur de 5. Les éléments supplémentaires sont initialisés à la valeur par défaut de0pour le typeint.Exemple 3 : Copier avec une taille plus petite
Dans cet exemple,
Arrays.copyOf()crée un nouveau tableautruncatedArraycontenant uniquement les deux premiers éléments deoriginalArray.Conseils et bonnes pratiques
Arrays.copyOf(), ce qui garantit l'intégrité des données.0,null,false, etc.).Arrays.copyOf()fonctionne avec tous les types de primitives et d'objets, ce qui le rend polyvalent pour divers types de données.Comprendre la copie superficielle et la copie profonde
Arrays.copyOf()produit une copie superficielle, où les références aux éléments originaux sont copiées plutôt que les objets eux-mêmes. Il est important de s'en souvenir lorsqu'il s'agit de structures de données complexes telles que des tableaux 2D ou des tableaux d'objets, où les modifications apportées aux objets du tableau d'origine peuvent se répercuter sur le tableau copié.Exceptions
NegativeArraySizeException: Lancé si le paramètrenewLengthest négatif.NullPointerException: Lancé si le tableauoriginalestnull.