CodeGym /Blog Jawa /Acak /Carane Nambah Elemen anyar menyang Array Ing Jawa
John Squirrels
tingkat
San Francisco

Carane Nambah Elemen anyar menyang Array Ing Jawa

Diterbitake ing grup
Oh, susunan Jawa. Dheweke dadi obyek katresnan lan gething saka atusan pangembang piranti lunak pamula. Nambah unsur menyang larik sing wis initialised mokal, ngandika… Bener, iku bisa, nanging ora ing makna klasik… lan iku ora trep banget. Nambahake unsur anyar menyang larik sing wis diwiwiti minangka salah sawijining trik. Nanging, trik kasebut bisa migunani nalika wawancara ... lan kadhangkala ana ing pakaryan programmer. Kanggo mesthekake yen sampeyan seneng nggunakake jinis data lan ngerti carane nindakake iku irit, kita wrote guide kanggo nambah unsur anyar kanggo Uploaded Jawa. Saliyane kanthi ati-ati ngliwati teori lan conto kode, priksa manawa mriksa lan ngrampungake masalah praktik sing ditampilake ing kiriman kasebut. Cara Nambah Elemen Anyar menyang Array Ing Jawa - 1

Apa iku Array ing Jawa

Ayo kelingan apa Array lan carane nggawe ing Jawa. Yen sampeyan ngelingi, aja ragu-ragu pindhah menyang subjudul sabanjure "5 Cara Nambah Unsur Anyar menyang Array Jawa". Dokumentasi Jawa resmi Oracle ujar manawa array minangka serangkaian nilai sing ana ing jinis data sing padha. Sakumpulan wilangan bulat minangka conto sampurna saka larik ing Jawa . Kabeh nilai sing sampeyan nemtokake duwe posisi tartamtu ing larik sing diarani indeks . Mangkene cara kanggo ngumumake lan miwiti array:

int[] myArray = new int[10];
int[] myArray1 = {1, 0, 3, 17, 5, 6, 7, 8, 9, 10}
Ing kasus sing sepisanan, kita nemtokake array myArray lan nggawe Java kanggo nyedhiyakake spasi kanggo 10 unsur, ing myArray1 kapindho , kita langsung nglebokake 10 nilai kasebut. Ing kasus apa wae, unsur 11 ora bisa di-push menyang array. Kanggo nindakake operasi nganggo array, pangembang ngapusi indeks nilai sing ana ing array. Apa sing kudu kita lakoni? Ayo goleki cara sing paling umum kanggo nambah menyang array.

5 Cara Nambah Elemen Anyar menyang Array Jawa

Inggih, kene trik kita kanggo nggawe immutable katon mutable.
  • Ngonversi Array menyang Dhaptar
  • Gawe larik anyar kanthi kapasitas luwih gedhe lan tambahake unsur anyar menyang larik
  • Sistem Implementasi.arraycopy ()
  • Nyalin array nggunakake Apache Commons
  • Nglamar metode ArrayCopyOf().
Ayo goleki kanthi luwih rinci babagan cara iki kanggo nambah unsur menyang array.

1. Ngonversi Array menyang Dhaptar

Amarga kita ora bisa nambah unsur anyar menyang array langsung, sing paling apik sabanjure yaiku ngowahi menyang dhaptar, nambah unsur anyar, lan ngowahi maneh nilai kasebut menyang array. Cara pisanan kanggo ngowahi array menyang dhaptar yaiku nggunakake asList () kanggo nggawe ArrayList anyar. Sawise sawetara nilai kasil diowahi, gunakake ListAdd () kanggo nglebokake nilai kasebut. Sawise sampeyan ora perlu maneh ngowahi array, Ngonversi bali menyang jinis data asli karo bantuan saka toArray () cara. Kanthi kabeh cara lan konversi, iki bisa uga katon mbingungake ing wiwitan. Ayo dadi njupuk dipikir ing conto nggunakake asList () kanggo mbusak iku munggah.

// Code for adding Java arrays to a program
import java.lang.*;
import java.util.*;
 
class ArrayDemo{
   //Let’s add a new element to an array
   public static Integer[] addX(Integer myArray[], int x) {
       int i;
       //turn array into ArrayList using asList() method
       List arrList = new ArrayList( Arrays.asList(myArray));
 
       // adding a new element to the array
       arrList.add(x);
 
       // Transforming the ArrayList into an array
       myArray = arrList.toArray(myArray);
       return myArray;
   }
   public static void main(String[] args) {
       int i;
       //initial array
       Integer myArray[] = { 0, 1, 2, 45, 7, 5, 17};
 
       //print the initial array out
       System.out.println("Initial Array: "
                          + Arrays.toString(myArray));
 
       //element to be added
       int x = 28;
 
       // call the method to add x in myArray
       myArray = addX(myArray, x);
 
       // print the updated array out
       System.out.println("Array with " + x + " added: "
                          + Arrays.toString(myArray));
   }
}
Outpute yaiku:
Array Awal: [0, 1, 2, 45, 7, 5, 17] Array karo 28 ditambahake: [0, 1, 2, 45, 7, 5, 17, 28]
Dadi, ing program kasebut, kita wis kasil nggawe array myArray saka 7 nilai, diisi lan dicithak. Banjur kita mutusake yen sepuluh nilai ora cukup kanggo kita. Ya, kita ngowahi myArray dadi ArrayList arrList nggunakake metode Arrays.asList . Punika 28, unsur sing bakal ditambahake. Kita ditambahake menyang ArrayList arrList , banjur diowahi maneh menyang array nggunakake toArray () cara lan dicithak array anyar.

2. Nggawe array anyar kanthi kapasitas sing luwih gedhe

Salah siji cara sing paling umum kanggo nambah unsur liyane menyang larik yaiku nggawe larik anyar, luwih gedhe, saka awal, nglebokake unsur lawas lan nambah unsur anyar. Mangkene langkah-langkah langkah-langkah proses kasebut:
  • Nggawe array anyar kanthi kapasitas a + n (a - kapasitas array asli, n - jumlah unsur sing pengin ditambahake).
  • Tambah kabeh unsur saka sawetara data sadurunge menyang anyar, uga nilai anyar.
  • Print array sing diasilake.
Coba gawe larik kasebut dhewe lan mbandhingake kode sampeyan karo conto ing ngisor iki:

// Java Program to add an element in an Array

import java.lang.*;
import java.util.*;

class ArrayDemo {
   //Method to add an element x into array myArray
   public static int[] addX(int myArray[], int x) {
       int i;

       // create a new array of a bigger size (+ one element)
       int newArray[] = new int[myArray.length + 1];

       // insert the elements from the old array into the new one
       for (i = 0; i < myArray.length; i++)
           newArray[i] = myArray[i];

       newArray[myArray.length] = x;
       return newArray;
   }

   public static void main(String[] args) {
       int i;

       // initial array of size 10
       int arr[]
               = {0, 1, 2, 45, 7, 5, 17};

       // print the initial array
       System.out.println("Initial Array: " + Arrays.toString(arr));

       // element to be added
       int x = 28;

       // call the addX method to add x in arr
       arr = addX(arr, x);
       // print the updated array
       System.out.println("Array with " + x + " added:" + Arrays.toString(arr));
   }
}
Outpute yaiku:
Array Awal: [0, 1, 2, 45, 7, 5, 17] Array kanthi 28 ditambahake: [0, 1, 2, 45, 7, 5, 17, 28]
Inggih, cara iki kanggo nambah unsur anyar menyang array sing paling gampang.

3. Aplikasi System.arrayCopy()

System.arrayCopy () iku cara sing akeh digunakake kanggo allocating Uploaded luwih gedhe ing panggonan saka Uploaded sumber. Pangembang bisa nemtokake urutan sing pengin disalin menyang array anyar ing kurung metode kasebut. Kanggo ndeleng cara kerjane lan coba gunakake dhewe, deleng lan coba jalanake conto ing ngisor iki:

import java.util.Arrays;

class ArrayDemo {
   private static Integer[] addElement(Integer[] myArray, int newElement) {
       //we create a new Object here, an array of bigger capacity 
       Integer[] array = new Integer[myArray.length + 1];
       System.arraycopy(myArray, 0, array, 0, myArray.length);
       array[myArray.length] = newElement;
       return array;
   }

   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
Outpute yaiku:
myArray sadurunge nambah unsur anyar: [20, 21, 3, 4, 5, 88] myArray sadurunge nambah unsur anyar: [20, 21, 3, 4, 5, 88, 12]
Kene kita wis nggawe Uploaded myArray , dicithak lan nambah unsur anyar nggunakake cara addElement , kang dibangun ing System.arrayCopy () .

4. Nggunakake Apache Commons kanggo nyalin array

Ayo nganggo cara sing ora standar. Yaiku, perpustakaan pihak katelu Apache Commons lang. Iki minangka bagean saka proyek Apache Commons sing fokus ing kabeh aspek komponen Java sing bisa digunakake maneh. Kawruh babagan proyek kasebut ora bakal berlebihan. Apache Commons lang wis cara nambah () dirancang khusus kanggo ngidini nggedhekake susunan, nyimpen codders akèh wektu lan gaweyan. Iku worth mbudidaya sing iki Apache Commons nambah () cara adhedhasar nelpon System.arraycopy () cara yen sampeyan kudu njawab ujian angel utawa pitakonan Interview. Kanggo nambah perpustakaan menyang proyek sampeyan, bukak situs web Apache Commons lan download perpustakaan kasebut. Banjur pindhah menyang File → Struktur Proyek → Pustaka> + banjur pilih file jar sing diundhuh.

import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;

class ArrayDemo {
   private static <T> T[] append(T[] arr, T element) {
       return ArrayUtils.add(arr, element);
   }

   public static void main(String[] args) {
       Integer[] myArray = { 0, 1, 2, 3, 4};
       System.out.println("myArray: " + Arrays.toString(myArray));

       myArray = append(myArray, 5);
       System.out.println("new Array with the number added: " + Arrays.toString(myArray));
   }
}
Outpute yaiku:
myArray: [0, 1, 2, 3, 4] Array anyar kanthi nomer sing ditambahake: [0, 1, 2, 3, 4, 5]

5. Implementasi ArrayCopyOf()

ArrayCopyOf () minangka salah sawijining cara kanggo nambah unsur anyar menyang array. Kayata Apache Commons lang nambah () iku internal nelpon System.arraycopy () kanggo nindakake operasi iki. Nanging umume pangembang seneng ArrayCopyOf () amarga ngidini supaya kode kasebut ringkes lan bisa diwaca. Iki conto nggunakake ArrayCopyOf () kanggo nambah unsur anyar menyang array:

import java.util.Arrays;
class ArrayDemo {
   private static <X> X[] addElement(X[] myArray, X element) {
       X[] array = Arrays.copyOf(myArray, myArray.length + 1);
       array[myArray.length] = element;
       return array;
   }
   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
Outpute yaiku:
myArray sadurunge nambah unsur anyar: [20, 21, 3, 4, 5, 88] myArray sadurunge nambah unsur anyar: [20, 21, 3, 4, 5, 88, 12]

Kesimpulan

Ngerti carane nambah unsur menyang array mbantu pangembang nganyari kode lawas kanthi cepet tanpa ngorbanake fungsi lan keterbacaan… Utawa mung kanggo ngliwati wawancara. Amarga ana macem-macem cara kanggo nambah unsur menyang array Jawa, bebas milih cara sing sampeyan seneng.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION