1. Array dalam memori
Pada contoh sebelumnya, ilustrasinya sedikit tidak akurat.
Saat membuat larik (seperti saat membuat string), dua blok memori terpisah dialokasikan: satu untuk menyimpan larik ( wadah) itu sendiri dan blok kedua untuk variabel yang menyimpan alamatnya . Gambar di bawah ini mewakili klarifikasi ini:
Memori yang dialokasikan untuk larik 10
int
elemen dan int[]
variabel yang menyimpan alamat larik int
, ditampilkan dalam warna hijau.
Sebagai perbandingan, variabel biasa int
yang menyimpan nilai 199
ditampilkan dengan warna biru.
Ini sedikit mengingatkan pada menyimpan string dalam memori, bukan begitu?
Itu benar, string. Dan sama seperti saat Anda bekerja dengan string, Anda dapat menetapkan variabel array satu sama lain:
Kode | Penjelasan |
---|---|
|
Buat array 10 int elemen. Tetapkan nilai 4 ke sel dengan index 2 . Tetapkan nilai 9 ke sel dengan index 7 . Di b variabel, simpan alamat yang disimpan di a variabel. Sekarang a dan b arahkan ke objek array yang sama di memori. Di sel objek array dengan index 9 , tulis jumlah nilai yang disimpan dalam sel 2 (yang menyimpan value 4 ) dan 7 (yang menyimpan value 9 ). |
Objek array tetap berada di tempatnya, dan variabel a
and b
menyimpan alamat yang sama (referensi) ke objek yang sama. Lihat gambarnya:
2. Lebih detail tentang bekerja dengan array
Anda dapat membuat array elemen dari jenis apa pun. Untuk melakukannya, cukup tuliskan tanda kurung siku setelah nama jenis. Secara umum, membuat array terlihat seperti ini:
type[] name = new type[number];
Di mana tipe adalah tipe elemen yang akan kita simpan di dalam array. Nama adalah nama variabel yang akan kita gunakan untuk merujuk ke array, dan angka adalah jumlah sel dalam array.
Contoh di atas adalah bentuk kanonis untuk membuat variabel array dan objek array. Pada kenyataannya, ini adalah dua entitas yang terpisah.
Anda dapat membuat variabel array secara terpisah dari objek array:
type[] name;
name = new type[number];
Dan satu hal lagi yang tidak kalah pentingnya:
Contoh:
Kode | Penjelasan |
---|---|
|
Buat array n elemen |
|
Buat array dengan 203 elemen |
|
|
0..99
dengan ArrayIndexOfBoundException
, artinya indeks berada di luar batas array.
3. Panjang larik
Seperti yang Anda lihat pada contoh sebelumnya, Anda dapat membuat variabel array dengan sendirinya dan kemudian menetapkan nilai (referensi ke objek array) ke suatu tempat di dalam kode. Anda bahkan dapat melakukan ini:
Kode | Penjelasan |
---|---|
|
Buat variabel array yang tipenya adalah int[] Jika a variabelnya kurang dari 10 , maka buatlah array 10 elemen. Kalau tidak, buat array 20 elemen |
Dan sekarang apa lagi yang bisa Anda lakukan dengan array seperti itu? Bagaimana Anda tahu berapa banyak elemen yang ada di dalamnya?
Untuk membantu hal ini, array memiliki properti khusus (variabel) bernama length
. Anda dapat menemukan panjang array menggunakan ekspresi ini:
array.length;
Berikut array
adalah nama variabel array dan length
merupakan nama properti array. Nilai properti length
tidak dapat diubah: length
properti itu sendiri dapat ditugaskan ke variabel lain, tetapi tidak ada yang dapat ditugaskan padanya (jika Anda mencoba melakukan ini, program tidak akan dapat dikompilasi).
Kita dapat melanjutkan dengan contoh sebelumnya seperti ini:
Kode | Penjelasan |
---|---|
|
Buat variabel array yang tipenya adalah int[] Jika a variabelnya kurang dari 10 , maka buatlah array 10 elemen. Kalau tidak, buat array 20 elemen Ulangi semua elemen array: dari 0 hingga panjangarray.length - 1 |
4. Rangkuman fakta tentang array di Java
Mari rekap apa yang kita ketahui tentang array:
Fakta 1. Sebuah array terdiri dari banyak sel.
Fakta 2. Anda mengakses sel tertentu dengan menggunakan nomornya (indeks).
Fakta 3. Semua sel memiliki tipe yang sama.
Fakta 4. Nilai awal semua sel adalah 0 (jika sel menyimpan angka), null
(jika sel menyimpan referensi objek), atau false
(jika sel menyimpan boolean
nilai). Anda akan mempelajari lebih lanjut tentang nilai default di bab ini .
Fakta 5. String[] list
hanyalah deklarasi sebuah variabel. Ini tidak membuat wadah (objek larik) itu sendiri. Untuk menggunakan variabel, Anda harus terlebih dahulu membuat larik (wadah) dan menugaskannya ke variabel. Lihat contoh di bawah ini.
Fakta 6. Saat kita membuat objek array (container), kita harus menunjukkan ukurannya, yaitu berapa banyak sel yang dikandungnya. Ini dilakukan dengan pernyataan seperti: new TypeName[n]
;
Fakta 7 Panjang sebuah array dapat ditemukan dengan menggunakan .length
properti.
Fakta 8. Setelah membuat array, Anda tidak dapat mengubah jenis elemennya atau jumlah elemen yang disimpannya.
Kode | Penjelasan |
---|---|
|
s adalah null list _null |
|
Variabel list menyimpan referensi ke objek: array string yang terdiri dari 10 elemen. n adalah10 |
|
Sekarang |
|
Pengecualian (kesalahan program) akan dilemparkan, yaitu program akan macet. list menyimpan referensi kenull |
|
Pengecualian array-out-of-bounds (kesalahan program) akan dihasilkan. Jika a list menyimpan 10 elemen/sel, maka indeks yang valid adalah: 0 1 2 3 4 5 6 7 8 9 — 10 elemen. |
GO TO FULL VERSION