Belajar Pemrograman Java Dari Dasar

Senin, 05 Maret 2018

Perbedaan ArrayList dan Array Pada Java Yang Perlu Anda Ketahui

Array dan ArrayList adalah dua struktur data yang penting dan paling banyak digunakan pada program Java. Array adalah struktur data dasar yang merupakan bagian dari Java sejak awal. ArrayList adalah class dalam Java Collection Framework yang diperkenalkan sejak JDK 1.2. untuk lebih mudahnya, Anda bisa menggambarkan ArrayList sebagai versi lanjutan dari Array.

Karena, array adalah struktur data dengan ukuran tetap maka Anda tidak dapat mengubah ukurannya setelah dibuat. Nah, untuk mengatasi kekurangan array ini maka ArrayList diperkenalkan di Java. ArrayList secara otomatis akan mengubah ukurannya saat Anda menambahkan elemen lebih banyak dari kapasitasnya.

Perbedaan ArrayList dan Array Pada Java Yang Perlu Anda Ketahui


Ok deh, mari kita bahas perbedaan antara Array Vs ArrayList di java secara mendetail.

Objek-objek ArrayList dapat digunakan seperti array. Namun, terdapat banyak perbedaan. Seperti anda ketahui, ketika array di buat, maka ukurannya tidak bisa di ubah.

Contoh pengoperasian array adalah Anda dapat mengakses suatu elemen tertentu dari array menggunakan notasi square bracket, misalnya:

a[index]

Sedangkan pada ArrayList anda dapat menggunakan method get(index).


Untuk lebih jelasnya, perbedaan antara ArrayList dan array bisa anda lihat melalui tabel berikut ini:


Operasi & Keterangan Array ArrayList
Membuat sebuah array atau ArrayList String[] a = new String[5] ArrayList<String> list = new ArrayList<>();
Mengakses elemen a[index] list.get(index);
Mengupdate elemen a[index] = "jeruk"; list.set(index, "jeruk");
Mengembalikan ukuran a.length list.size();
Menambahkan suatu elemen baru
list.add("jeruk");
Memasukkan suatu elemen pada index tertentu
list.add(index, "jeruk");
Menghapus suatu elemen
list.remove(index);
Menghapus suatu elemen
list.remove(Object);
Menyimpan Objek dan tipe primitifHanya objek
Didefinisikan pada Java Sebagai data struktur fundamentalMilik dari Collections framework
Ukuran TetapBisa bertambah atau menyusut karena elemen bisa ditambahkan atau di hilangkan
Tipe data yang disimpan Menyimpan data dari satu tipeDapat menyimpan tipe data yang heterogen
Sinkronisasi Tidak dapat disinkronisasiVersi yang disinkronisasi bisa diperoleh
Multidimensi Dapat multi dimensiHanya satu dimensi
Iterasi Menggunakan for loop atau for each loopArrayList menyediakan iterator. Anda juga dapat menggunakan for loop atau for each loop
Safety tipe Array tidak mendukung tipe generik. Oleh karena itu jika anda menambahkan elemen yang tidak kompatibel pada array maka compiler tidak akan
menunjukkan error apapun. Namun, pada saat run time Anda akan mendapatkan ArrayStoreException.
Ini artinya setiap elemen di cek pada saat runtime.
ArrayList mendukung tipe generik. Sehingga akan memastikan safety
tipe pada compilation time. Jadi tipe setiap elemen akan di cek
saat compile time.
Artinya jika anda mencoba menambahkan elemen yang
tidak kompatibel maka compiler akan langsung menunjukkan error

Anda tidak dapat menggunakan method get(index) dan set(index, element) jika elemen tidak terdapat di dalam list. Memang mudah untuk menambahkan, menyisipkan atau menghapus elemen pada ArrayList, namun akan lebih kompleks ketika harus melakukannya pada array. Karena anda harus menulis kode untuk memanipulasi array dengan tujuan untuk pengoperasian yang anda butuhkan itu.

Sebagai catatan, anda dapat mengurutkan array dengan menggunakan method java.util.
Arrays.sort(array).  Sedangkan untuk mengurutkan / sort pada array list anda dapat menggunakan method java.util.Collections. sort(arraylist).

Misalkan anda ingin membuat sebuah ArrayList untuk menyimpan integer-integer. Kemudian anda menulis kode seperti di bawah ini:

ArrayList<int> list = new ArrayList<>(); 

Apakah kode di atas akan bekerja? Jawabannya adalah tidak. Hal ini dikarenakan elemen yang disimpan dalam array list harus berupa objek. Jadi anda tidak dapat menggunakan tipe data primitif seperti int untuk menggantikan tipe generik.

Namun, anda dapat menggunakan ArrayList untuk menyimpan objek-objek Integer sebagai berikut:

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

Berikut ini adalah contoh program sederhana dimana user diminta untuk memasukkan deretan angka kemudian program akan menampilkan angka apa saja yang berbeda dari deret angka tersebut. Misalkan input angka akan diakhiri dengan angka 0, dan angka 0 itu tidak termasuk dalam angka yang berbeda.

Contoh output:

Silakan input integer (akhiri input dengan memasukkan angka 0):
7
6
9
4
5
7
9
2
0
Angka yang berbeda adalah: 7 6 9 4 5 2

Share on Facebook
Share on Twitter
Share on Google+
Tags :

Artikel Menarik Lainnya :