Während des Schreibens von Programmen begegnen wir häufig Situationen, in denen nicht genügend Array -Raum vorhanden ist. Zum Beispiel habe ich ein Array int [] a = {1,2,3,4,5,6,7,8,9,10} initialisiert; Zu diesem Zeitpunkt möchte ich ein Element in die Position des Array -Indexs einfügen. Was soll ich tun? Es ist zu schwierig, in der C -Sprache zu implementieren. Sie müssen Memcpy -Funktionen einzeln aufrufen, aber es muss in Java nicht so problematisch sein. Es gibt eine Art Expansionsmethode namens Arrays, die leicht implementiert werden können. Schauen wir uns den Code an:
public class helloWorld {public static void main (String [] args) {// scanner s = neuer Scanner (System.in); // system.out.println ("Bitte eine Nummer eingeben"); // int num = s.Nextint (); // Dieses Array -Index kann nur 9 int [] a = {1,2,3,4,5,6,7,8,9,10} erreichen; // int int int [] b = getArray (a, 3.100) erweitern; Demoe.printarray (b); } // Fall: Ein Array wurde initialisiert und fügt nun ein Element 100 in sein Index 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]; für (int i = 0; i <A.Length; i ++) {b [i] = a [i]; } a = b; // Wenn Sie a verwenden möchten, geben Sie einen Punkt für B // als nächstes, starten Sie vom letzten Element und kopieren Sie das vorherige Element des letzten Elements zum letzten // und so weiter (int i = a.Length-1; i> index; i-) {a [i] = a [i-1]; } // Vergessen Sie nicht, fügen Sie das zu in die entsprechende Array -Koordinaten einfügene Element ein [index] = num; Rückkehr a; }}Sie können auch Bibliotheksfunktionen in Java verwenden, um es zu implementieren
Import Java.util.Arrays; public class helloWorld {public static void main (String [] args) {// scanner s = neuer Scanner (System.in); // system.out.println ("Bitte eine Nummer eingeben"); // int num = s.Nextint (); int [] a = {1,2,3,4,5}; int [] b = new int [A.Length]; // 1, Quellarray // 2, wo das Quellarray starten // 3, Zielarray // 4, wo das Zielarray gestartet werden soll // 5, mehrmals kopieren //System.arrayCopy(a, 0, b, 0, a.Length); //Demoe.printarray(b); // scaling ---> scaling doppelt // a = arrays.copyof (a, 2*a.länge); //Demoe.printarray(a); a = InsertArray (a, 3, 100); // Array system.out.println (arrays.tostring (a)) drucken; } // Schreiben Sie eine Funktion, mit der ein Element in eine beliebige POS -Position des Ganzzahlarray public static int [] InsertArray (int [] a, int pos, int value) {if (pos <0 || pos> a.Length + 1) // Das Index -Sendekript ist falsch und das Quellarray direkt an die Rückgabe A zurückgegeben wird. // ein Element einfügen, die Kapazität zuerst erweitern und dann a = arrays.copyof (a, a.Length+1) kopieren; für (int i = a.Length-1; i> pos; i-) {a [i] = a [i-1]; // Zurück zurückziehen} a [pos] = Wert; Rückkehr a; }}Auslaufergebnisse:
[1, 2, 3, 100, 4, 5]
Zusammenfassen
Das obige ist der Inhalt dieses Artikels über den Java Array -Erweiterungsinstanzcode. Ich hoffe, dass er für alle hilfreich sein wird. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!