Array adalah kumpulan data yang memiliki tipe data dan jumlah elemen yang tetap (tidak bisa ditambah/dikurangi). Array pada Java adalah sebuah
object
, maka harus dideklarasikan menggunakan kata kunci new
. Tiap data pada array disebut element, dan masing-masing element dapat diakses menggunakan index yang berupa angka. Index dimulai dari 0 sampai jumlah element – 1.Contoh untuk mendeklarasikan array sesuai gambar di atas adalah
1
| char [] arrayHuruf = new char [ 10 ]; |
1
2
3
| arrayHuruf[ 0 ] = 'A' ; arrayHuruf[ 1 ] = 'B' ; //dst |
1
2
3
4
| for ( int i = 0 ; i < 10 ; i ++) { arrayHuruf[i] = ( char ) ( 'A' + i); } |
arrayHuruf
akan berisi 10 karakter, yaitu ‘A’
sampai ‘J’ secara berurutan. Alternatif lain untuk menginisialisasi
array, dapat menggunakan syntax sebagai berikut
1
| char [] arrayHuruf = { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' }; |
Kita juga dapat mendeklarasikan array dari array atau lebih dikenal sebagai array multidimensi dengan cara seperti berikut
char[][] namaArray = new char[10][2]
atau char[][] namaArray = new char[10][]
, tapi tidak boleh seperti ini char[][] namaArray = new char[][2]
. Dalam bahasa Java, pengertian array lebih sederhana daripada pada bahasa C, jadi jumlah element pada baris berikutnya jumlahnya boleh bervariasi (tidak harus sama dengan baris pertama).
1
2
3
| char [][] hurufAngka = new char [ 2 ][]; hurufAngka[ 0 ] = new char [ 2 ]; // array index [0][0] sampai [0][1] hurufAngka[ 1 ] = new char [ 1 ]; // hanya ada array index [1][0] |
1
2
3
4
| char [][] hurufAngka = { { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' }, { '1' , '2' , '3' , '4' , '5' } }; |
for (nilai_awal; nilai_akhir; penambahan/pengurangan)
, jadi jumlah element-nya harus diketahui. Bagaimana jika jumlah element
tidak diketahui? Misalkan kita ingin mencetak array yang berisi
huruf-huruf yang tidak diketahui secara pasti jumlahnya. Gunakan enhanced for yang penggunaannya mirip dengan foreach
pada PHP.
1
2
3
4
5
| char [] arrayHuruf = { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' }; for ( char huruf : arrayHuruf ) { System.out.println( huruf ); } |
length
untuk mengetahui jumlah element-nya.
1
2
| for ( int i= 0 ; i<arrayHuruf.length; i++) System.out.println( arrayHuruf[i] ); |
arraycopy
yang ada pada class System
.
1
| public static void arraycopy(Object arraySumber, int indexSumber, Object arraytujuan, int indexTujuan, int panjangElement) |
1
2
3
4
5
6
7
| int [] arraySumber = { 1 , 2 , 3 , 4 , 5 }; int [] arrayTujuan = { 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 }; System.arraycopy (arraySumber, 0 , arrayTujuan, 0 , arraySumber.length); for ( int item : arrayTujuan) System.out.println ( item ); |
Meskipun jumlah element pada array tidak bisa ditambah/dikurangi, kita bisa menciptakan array baru dari array yang sudah ada. Namun tentu saja, nilai yang sudah ada akan hilang.
1
2
| int [] array = new int [ 5 ]; array = new int [ 10 ]; |