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 intelemen dan int[]variabel yang menyimpan alamat larik int, ditampilkan dalam warna hijau.
Sebagai perbandingan, variabel biasa intyang menyimpan nilai 199ditampilkan 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 intelemen. Tetapkan nilai 4ke sel dengan index 2. Tetapkan nilai 9ke sel dengan index 7. Di bvariabel, simpan alamat yang disimpan di avariabel. Sekarang adan barahkan 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 aand bmenyimpan 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 nelemen |
|
Buat array dengan 203elemen |
|
|
0..99dengan 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 avariabelnya kurang dari 10, maka buatlah array 10elemen. Kalau tidak, buat array 20elemen |
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 arrayadalah nama variabel array dan lengthmerupakan nama properti array. Nilai properti lengthtidak dapat diubah: lengthproperti 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 avariabelnya kurang dari 10, maka buatlah array 10elemen. Kalau tidak, buat array 20elemen Ulangi semua elemen array: dari 0hingga 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 booleannilai). 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 .lengthproperti.
Fakta 8. Setelah membuat array, Anda tidak dapat mengubah jenis elemennya atau jumlah elemen yang disimpannya.
| Kode | Penjelasan |
|---|---|
|
sadalah nulllist_null |
|
Variabel listmenyimpan referensi ke objek: array string yang terdiri dari 10elemen. nadalah10 |
|
Sekarang |
|
Pengecualian (kesalahan program) akan dilemparkan, yaitu program akan macet. listmenyimpan referensi kenull |
|
Pengecualian array-out-of-bounds (kesalahan program) akan dihasilkan. Jika a listmenyimpan 10elemen/sel, maka indeks yang valid adalah: 0 1 2 3 4 5 6 7 8 9— 10elemen. |
GO TO FULL VERSION