Selama proses penulisan program, kita sering menghadapi situasi di mana tidak ada ruang array yang cukup. Misalnya, saya telah menginisialisasi array int [] a = {1,2,3,4,5,6,7,8,9,10}; Pada saat ini, saya ingin memasukkan elemen ke posisi array subscript 3. Apa yang harus saya lakukan? Terlalu sulit untuk diimplementasikan dalam bahasa C. Anda perlu menyebut fungsi memcpy satu per satu, tetapi tidak harus begitu merepotkan di Java. Ada semacam metode ekspansi yang disebut array, yang dapat dengan mudah diimplementasikan. Mari kita lihat kode:
kelas publik HelloWorld {public static void main (string [] args) {// scanner s = new scanner (system.in); // System.out.println ("Harap masukkan nomor"); // int num = s.nextInt (); // Subskrip array ini hanya dapat mencapai 9 int [] a = {1,2,3,4,5,6,7,8,9,10}; // Perpanjang int int pertama [] b = getArray (a, 3.100); Demoe.printarray (b); } // case: Array telah diinisialisasi, dan sekarang masukkan elemen 100 ke dalam subscript 3 public static int [] getArray (int [] a, index, int num) {int src_array_length = a.length; int [] b = int int [src_array_length+1]; untuk (int i = 0; i <a.length; i ++) {b [i] = a [i]; } a = b; // Jika Anda ingin menggunakan A, buat titik ke b // selanjutnya, mulailah dari elemen terakhir dan salin elemen sebelumnya dari elemen terakhir ke yang terakhir // dan seterusnya untuk (int i = a.length-1; i> index; i-) {a [i] = a [i-1]; } // Jangan lupa, masukkan elemen yang akan dimasukkan ke dalam array yang sesuai koordinat [indeks] = num; mengembalikan a; }}Anda juga dapat menggunakan fungsi perpustakaan di Java untuk mengimplementasikannya
impor java.util.arrays; kelas publik HelloWorld {public static void main (string [] args) {// scanner s = new scanner (system.in); // System.out.println ("Harap masukkan nomor"); // int num = s.nextInt (); int [] a = {1,2,3,4,5}; int [] b = int int [a.length]; // 1, array sumber // 2, di mana untuk memulai array sumber // 3, target array // 4, di mana untuk memulai array target // 5, salin beberapa kali //system.arraycopy(a, 0, b, 0, a.length); //Demoe.printarray(b); // scaling ---> scaling doubled // a = arrays.copyof (a, 2*a.length); //Demoe.printarray(a); a = insertArray (a, 3, 100); // cetak array system.out.println (arrays.tostring (a)); } // Tulis fungsi untuk memasukkan elemen ke posisi pos apa pun dari integer array public static int int [] insertArray (int [] a, int pos, value int) {if (pos <0 || pos> a.length + 1) // subskrip indeks salah, dan array sumber dikembalikan langsung ke pengembalian a; // Letakkan elemen, perluas kapasitas terlebih dahulu, lalu salin a = arrays.copyof (a, a.length+1); untuk (int i = a.length-1; i> pos; i-) {a [i] = a [i-1]; // pindahkan kembali} a [pos] = nilai; mengembalikan a; }}Hasil Menjalankan:
[1, 2, 3, 100, 4, 5]
Meringkaskan
Di atas adalah semua konten dari artikel ini tentang kode instance ekspansi Java Array, saya harap ini akan membantu semua orang. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!