The Importance of Sharing

ArrayList VS Vector


Pada artikel yang sebelumnya saya menggunakan Class ArrayList untuk menampung komponen swing supaya bisa dinamis. Nah, mengapa saya menggunakan ArrayList? padahal masih banyak Class List lainnya yang bisa digunakan semacam Vector, dan sebagainya. Manakah yang lebih baik ?


Sebenarnya antara ArrayList dan Vector memiliki kelebihan dan kekurangannya masing – masing. Terkadang kita harus menggunakan Vector, terkadang dalam kondisi tertentu kita harus menggunakan ArrayList, atau malah tidak kedua -duanya. Ini sesuai dengan permasalahan yang dihadapi oleh masing – masing programmer. ArrayList mulai diperkenalkan pada Java 1.2 dan sebelumnya ada class yang mirip penggunaannya seperti ArrayList yaitu Vector. Jadi Vector bisa dibilang lebih tua daripada ArrayList.
Namun perbedaan yang mendasar antara Vector dengan ArrayList bukanlah usianya (versinya) melainkan dari segi kecepatan. Vector merupakan class yang synchronized, artinya method atau function pada class vector itu thread safe. Thread safe disini artinya method atau function didalamnya selalu berjalan dengan benar dan tidak mengalami crash meskipun diakses oleh beberapa thread secara simultan. Sedangkan ArrayList merupakan class yang tidak synchronized sehingga dari inilah yang menyebabkan ArrayList lebih unggul dalam kecepatan daripada vector.
Sehingga, jika anda ingin menyimpan suatu data tetapi anda tidak tahu pertumbuhan datanya sampai mana (dinamis) dan data tersebut akan diakses hanya satu thread maka gunakanlah ArrayList. Jika anda ingin menyimpan suatu data tetapi anda tidak tahu pertumbuhan datanya sampai mana (dinamis) dan data tersebut akan diakses oleh banyak thread maka gunakanlah Vector. Tetapi jika anda ingin menyimpan data dan anda ingin membatasi pertumbuhannya sampai dimana maka cukup gunakan Array

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: