Outside Java Collections

05Mar09

Senangnya pake Java… Tidak perlu lagi membuat sendiri kelas-kelas untuk koleksi objek, karena sudah disediakan oleh Java Collections (java.util.*). Malah sejak 1.5, Java juga menyediakan koleksi objek yang cocok untuk akses concurrent (java.util.concurrent.*).

Namun, terkadang kita juga membutuhkan koleksi dengan kebutuhan spesifik. Berikut ini adalah beberapa library koleksi objek yang dikembangkan secara open source.

Apache Commons Collections
Gak support generic! :( Ada beberapa kelas yang cukup revolusioner, seperti Multimap (Map yang support entri-entri dengan key yang sama).

Javolution
Cocok bagi aplikasi yang sifatnya realtime dan membutuhkan waktu eksekusi yang deterministik. Mengurangi GC dan koleksi objek bisa di-reuse setelah tidak dipakai. Gak ada alesan lagi buat pake C/C++ dengan alasan lambat atau waktu eksekusinya indeterministik!

Google Collections
It’s like Apache Commons Collections on steroid, hehe…
Selain support Generic, Google Collections juga menyediakan banyak helper utility yang akan membuat kita berpikir, “problem saya bisa diselesaikan dari dulu dengan Google Collections!”
Selain itu, Google Collections juga dipakai secara internal di aplikasi-aplikasi Google yang berbasis Java, jadi efisiensi & skalabilitasnya ga usah diragukan. :p

fastutil
fastutil menyediakan koleksi objek yang spesifik untuk semua (!) tipe, baik primitif maupun objek. Misalnya untuk List, disediakan int list, float list, dan lainnya. Konsekuensinya, library-nya jadi sangat besar. Tapi cocok bagi Anda yang tidak suka dengan autoboxing tipe primitif jadi objek. Tentunya hal ini dapat meningkatkan efisiensi memori.

Ada library koleksi objek lain yang Anda gunakan?



2 Responses to “Outside Java Collections”

  1. 1 ridho

    kalo pake Spring juga ada yang mirip2 commons colections, lupa nama packagenya tapi.. hehe


  1. 1 AyoNgopi. » Blog Archive » Outside Java Collectionsorg

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 )

Connecting to %s


Follow

Get every new post delivered to your Inbox.