Pendant le processus d'écriture des programmes, nous rencontrons souvent des situations où il n'y a pas assez d'espace de tableau. Par exemple, j'ai initialisé un tableau int [] a = {1,2,3,4,5,6,7,8,9,10}; Pour le moment, je veux insérer un élément dans la position de l'indice de tableau 3. Que dois-je faire? Il est trop difficile à mettre en œuvre dans le langage C. Vous devez appeler les fonctions MEMCPY une par une, mais elle ne doit pas être si gênante en Java. Il existe une sorte de méthode d'expansion appelée tableaux, qui peuvent être facilement implémentés. Jetons un coup d'œil au code:
classe publique Helloworld {public static void main (String [] args) {// scanner s = new Scanner (System.in); // System.out.println ("Veuillez entrer un nombre"); // int num = s.Nextint (); // Cet indice du tableau ne peut atteindre que 9 int [] a = {1,2,3,4,5,6,7,8,9,10}; // étendre int premier int [] b = getArray (a, 3,100); Deemoe.printArray (B); } // cas: un tableau a été initialisé et insérer maintenant un élément 100 dans son indice 3 public static int [] getArray (int [] a, int index, int num) {int src_array_length = a.length; int [] b = new int [src_array_length + 1]; for (int i = 0; i <a.length; i ++) {b [i] = a [i]; } a = b; // Si vous souhaitez utiliser A, faites un point à B // ensuite, commencez à partir du dernier élément et copiez l'élément précédent du dernier élément au dernier // et ainsi de suite pour (int i = a.length - 1; i> index; i -) {a [i] = a [i-1]; } // N'oubliez pas, insérez l'élément à insérer dans la coordonnée du tableau correspondant a [index] = num; retourner a; }}Vous pouvez également utiliser des fonctions de bibliothèque en Java pour l'implémenter
import java.util.arrays; classe publique Helloworld {public static void main (String [] args) {// scanner s = new Scanner (System.in); // System.out.println ("Veuillez entrer un nombre"); // int num = s.Nextint (); int [] a = {1,2,3,4,5}; int [] b = new int [a.length]; // 1, tableau source // 2, par où démarrer le tableau source // 3, tableau cible // 4, où démarrer le tableau cible // 5, copier plusieurs fois //system.arraycopy(a, 0, b, 0, a.length); //Demoe.printArray(b); // échelle ---> Échelle doublée // a = arrays.copyof (a, 2 * a.length); //Demoe.printArray(a); a = insertarray (a, 3, 100); // imprimer le array System.out.println (arrays.tostring (a)); } // Écrivez une fonction pour insérer un élément dans n'importe quelle position POS du tableau entier public static int [] insertarray (int [] a, int pos, int, int) {if (pos <0 || pos> a.length + 1) // L'indice index est incorrect, et le tableau source est retourné directement au retour a; // Mettez un élément, élargissez d'abord la capacité, puis copiez a = arrays.copyof (a, a.length + 1); for (int i = a.length - 1; i> pos; i -) {a [i] = a [i-1]; // recule} a [pos] = valeur; retourner a; }}Résultats en cours:
[1, 2, 3, 100, 4, 5]
Résumer
Ce qui précède est tout le contenu de cet article sur le code d'instance d'extension du tableau Java, j'espère que cela sera utile à tout le monde. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!