La création nouveau tableau avec le contenu d'ancien tableau tout en gardant l'ancien tableau statique
Dire que j'ai un tableau d'entiers,
int[] array = new int[7];
for(int i = 0; i < 7; i++)
{
array[i] = i;
}
Maintenant je veux obtenir uniquement les quatre premiers numéros de cette array
, et tourner à mettre dans un autre tableau.
Si je veux vraiment quelque chose comme...
newArray = array[0-3].
Je sais que la syntaxe est mauvaise, mais je suis simplement en train de donner l'idée générale de ce que je suis en train de faire, c'est quelque chose comme ça possible? Ou dois-je créer une boucle et l'ajouter manuellement dans le newArray
?
OriginalL'auteur ObjectiveC-InLearning | 2011-11-19
Vous devez vous connecter pour publier un commentaire.
Méthode 1
La méthode prend cinq arguments:
src
: Le tableau source.srcPosition
: La position de la source à partir de laquelle vous souhaitez commencerde la copie.
des
: Le tableau de destination.desPosition
: La position dans le tableau de destination à l'endroit où la copieil faut commencer.
length
: Le nombre d'éléments à copier.Cette méthode lève une exception NullPointerException si l'une des crs ou des sont nulles.
Il jette également un ArrayStoreException dans les cas suivants:
Méthode 2
Utiliser
Arrays.copyOf(array,4)
pour copier les 4 éléments, le fait de tronquer le reste.de
Arrays.copyOfRange(array,1,5)
à copier les éléments 1 à 4 si vous avez besoin au moyen d'un tableau.De ma faute, c'est en partant de zéro et je n'y pensais pas...
OriginalL'auteur
OriginalL'auteur
Vous pouvez créer le tableau dans la taille que vous souhaitez (4 dans ce cas), et ensuite utiliser Système.arrayCopy pour copier le contenu d'un tableau à l'autre.
OriginalL'auteur
Vous pouvez utiliser copyOfRange à cet effet,des Copies de la plage spécifiée au tableau spécifié dans une nouvelle matrice.
Paramètres:
OriginalL'auteur