1. Nambahake unsur ing tengah (utawa ing wiwitan) dhaftar

Yen kita pengin nglebokake unsur ing tengah dhaptar, iki kedadeyan ing dhaptar kasebut.

Upaminipun kita duwe dhaptar 11 unsur:

Nambahake unsur ing tengah (utawa ing wiwitan) dhaptar

Kita pengin nglebokake nomer 10.000 menyang dhaptar ing indeks 5. Kanggo nindakake iki, kita mung kudu nglakokake:

list.add(5, 10000);

Ing ngendi listana ArrayListvariabel. Cara kasebut add(int index, type value)nambahake nilai 10000 ing posisi 5 ing dhaptar. Mangkene apa sing kedadeyan ing add()metode kasebut:

Langkah 1: Kabeh unsur array, wiwit saka posisi 5th, bakal dipindhah (disalin) dening 1 unsur menyang mburi array:

Nambahake unsur ing tengah (utawa ing wiwitan) dhaptar 1

Elinga yen unsur ing sel 5 lan 6 saka array saiki padha.

Langkah 2: Tulis nilai 10.000 ing sel kaping 5:

Nambahake unsur ing tengah (utawa ing wiwitan) dhaptar 2

Saiki dhaptar ngemot kabeh unsur array, lan sel kaping lima ngemot nomer 10.000. Mung apa kita wanted.



2. Mbusak unsur saka dhaftar

Mbusak unsur saka dhaptar meh padha karo nglebokake, nanging prosese dibalik.

Ayo mbusak unsur 3rd saka dhaptar. Kanggo nindakake iki, kita kudu nindakake:

list.remove(3);

Mangkene apa sing kedadeyan ing metode mbusak ():

Langkah 1: Unsur array, wiwit saka posisi kaping 4, bakal dipindhah (disalin) dening 1 unsur menyang wiwitan array:

Mbusak unsur saka dhaptar

Langkah 2: Nilai variabel sizebakal suda 1.

Mbusak unsur saka dhaptar 2

Wigati dimangerteni ana sawetara nilai werna abu-abu ing mburi array. Secara teknis, iki sampah. Padha kudu dibusak supaya ora ngganggu pangumpulan sampah .

Langkah 3: ngresiki sampah

Mbusak unsur saka dhaptar 3



3. Tuladha Praktis nggarap daftar ing basa Jawa

Ayo nulis sawetara conto nggarap dhaptar:

Kita bakal dhaptar kabeh nomer genap ing kisaran saka 1 nganti 20:

Kode Cathetan
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);
Nggawe dhaptar obyek

Daur ulang kabeh indeks 1menyang 20
Yen indeks bisa dibagi 2tanpa sisa,
tambahake menyang dhaptar

Saiki ayo nampilake kabeh unsur dhaptar ing layar:

Kode Cathetan
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   System.out.println(list.get(i));
Nggawe dhaptar obyek
Daur ulang kabeh indeks 1menyang 20

Yen nomer bisa dibagi 2tanpa sisa,
tambahake menyang dhaptar

Daur ulang saka nol nganti ukuran dhaptar
Tampilake saben unsur ing layar.

Ngilangi unsur:

Saiki ayo mbusak kabeh unsur sing bisa dibagi 4. Elinga yen sawise ngilangi unsur saka dhaptar, posisi unsur sing isih ana langsung diganti.

Kode Cathetan
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   if (list.get(i)%4 == 0)
   {
      list.remove(i);
      i--;
   }
Nggawe dhaptar obyek

Daur ulang kabeh indeks 1menyang 20
Yen indeks bisa dibagi 2tanpa sisa,
tambahake menyang dhaptar

Loop saka nol nganti ukuran dhaptar
Yen unsur saka dhaptar bisa dibagi 4tanpa sisa:

a) mbusak unsur
b) nyuda icounter supaya kita njaluk indeks padha ing pengulangan sabanjuré daur ulang

Contone, sampeyan kudu mbusak 3 unsur pungkasan saka dhaptar.

Mangkene carane nindakake kanthi salah:

Kode Cathetan
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

int n = list.size();
list.remove(n - 3);
list.remove(n - 2);
list.remove(n - 1);
Nggawe obyek dhaptar

Dhaptar nduweni 10 unsur: 2, 4, 6, ... 20



n = 10
n - 3 = 7(ana 9 unsur sing isih ana ing dhaptar)
n - 2 = 8(ana 8 unsur sing isih ana ing dhaptar)
n - 1 = 9(ana 7 unsur sing isih ana ing dhaptar)

Sawise mbusak unsur 7 lan 8, mung 8 unsur bakal tetep ing dhaftar. Tegese ora bisa mbusak unsur kaping 9 - kesalahan bakal kedadeyan ing program kasebut.

Mangkene cara sing bener kanggo mbusak unsur kasebut:

Pilihan 1 Pilihan 2
int n = list.size();
list.remove(n - 3);
list.remove(n - 3);
list.remove(n - 3);
int n = list.size();
list.remove(n - 1);
list.remove(n - 2);
list.remove(n - 3);

Unsur kasebut kudu dicopot saka mburi utawa saka lokasi liyane sing konsisten, amarga unsur kasebut dipindhah siji sawise saben operasi mbusak.