Selasa, 03 April 2012

Arrays


Array adalah sebuah objek yang dapat menyimpan sejumlah nilai dengan tipe data yang sama. Nilai yang
disimpan berjumlah tetap sesuai dengan jumlah pada saat sebuah array dideklarasikan.
Gambar Array yang terdiri dari 10 elemen
Setiap item dalam array disebut elemen array, dan setiap elemen dapat diakses dengan nomor indeksnya
masing-masing, seperti pada ilustrasi diatas, nomor index dimulai dari 0, sehingga elemen kesembilan dapat
diakses dengan nomor indeks 8. contoh :
1. class ArrayDemo {
2. public static void main(String[] args) {
3. int[] anArray; // declares an array of integers
4. anArray = new int[10]; // allocates memory for 10 integers
5.
6. anArray[0] = 100; // initialize first element
7. anArray[1] = 200; // initialize second element
8. anArray[2] = 300; // etc.
9. anArray[3] = 400;
10. anArray[4] = 500;
11.
12. System.out.println("Element at index 0: " + anArray[0]);
13. System.out.println("Element at index 1: " + anArray[1]);
14. System.out.println("Element at index 2: " + anArray[2]);
15. System.out.println("Element at index 3: " + anArray[3]);
16. System.out.println("Element at index 4: " + anArray[4]);
17. }
18. }
Output :
Element at index 0 : 100
Element at index 1 : 200
Element at index 2 : 300
Element at index 3 : 400
Element at index 4 : 500
Mendeklarasikan Variabel Array
Seperti untuk deklarasi variabel pada umumnya, deklarasi variabel array juga mempunyai 2 komponen :
tipe data dan nama array, dengan format penulisan : Type[ ] ArrayName;
Dimana type mengindikasikan tipe data dari elemen yang akan disimpan, kurung siku merupakan simbol
khusus yang digunakan untuk mengindikasikan jumlah elemen yang dapat disimpan oleh variabel ini. contoh
lain dari deklarasi array, diantaranya :
byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;
float[] anArrayOfFloats;
double[] anArrayOfDoubles;
boolean[] anArrayOfBooleans;
char[] anArrayOfChars;
String[] anArrayOfStrings;
kurung siku dapat juga dituliskan setelah nama array , contoh :
float anArrayOfFloats[]; // this form is discouraged
Inisialisasi dan mengakses Array
Mendeklarasikan array dengan menggunakan operator new.
anArray = new int[10]; // create an array of integers
Jika perintah ini terlewatkan, maka compiler akan menampilkan pesan kesalahan :
ArrayDemo.java:4: Variable anArray may not have been initialized
Perintah-perintah berikutnya berfungsi memberikan nilai kedalam array
anArray[0] = 100; // inisialisasi elemen pertama
anArray[1] = 200; // inisialisasi elemen kedua
anArray[2] = 300; // dst
setiap element dapat diakses dengan nomor index :
System.out.println("Element 1 at index 0: " + anArray[0]);
System.out.println("Element 2 at index 1: " + anArray[1]);
System.out.println("Element 3 at index 2: " + anArray[2]);
cara lain, dapat menginisialisasikan array :
int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
Panjang array ditentukan dengan banyaknya nilai yang berada diantara kurung kurawal ({ })
Dapat juga mendeklarasikan Array dari array (dikenal dengan multidimensional array) dengan menggunakan 2
atau lebih pasangan kurung siku, seperti : String[][] names.
Dalam Bahasa pemrograman Java, array multidimensional secara sederhana merupakan yang komponennya
berupa array. Panjang kolomnya,, bisa bervariasi. perhatikan contoh program MultiDimArrayDemo berikut :
1. class MultiDimArrayDemo {
2. public static void main(String[] args) {
3. String[][] names = {{"Mr. ", "Mrs. ", "Ms. "}, {"Smith", "Jones"}};
4. System.out.println(names[0][0] + names[1][0]); //Mr. Smith
5. System.out.println(names[0][2] + names[1][1]); //Ms. Jones
6. }
7. }
Output : Mr. Smith
Ms. Jones
Perintah yang disediakan length dapat digunakan untuk menentukan ukuran dari suatu array :
System.out.println(anArray.length);
perintah diatas akan menampilkan ukuran array dalam format standar

Menyalin Array
Class System mempunyai method arraycopy, yang dapat digunakan untuk menyalin data dari array yang satu
ke yang lain secara efisien, dengan format penulisan :
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
Dimana :
1. terdapat 2 argumen obyek yang menspesifikasikan array yang akan di copy from dan array yang akan di
copy to.
2. terdapat 3 argumen int yang menspesifikasikan posisi awal array sumber, posisi awal array tujuan, dan
jumlah elemen yang akan disalin
Perhatikan contoh berikut, ArrayCopyDemo, mendeklarasikan array karakter berbunyi : "decaffeinated". Dengan
menggunakan method arraycopy untuk menyalin untaian komponen karakter kedalam array kedua.
1. class ArrayCopyDemo {
2. public static void main(String[] args) {
3. char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
4. char[] copyTo = new char[7];
5. System.arraycopy(copyFrom, 2, copyTo, 0, 7);
6. System.out.println(new String(copyTo));
7. }
8. }
Output : caffein

Tidak ada komentar:

Posting Komentar