Outside Java Collections
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?
Filed under: SingletonCategory | 2 Comments
kalo pake Spring juga ada yang mirip2 commons colections, lupa nama packagenya tapi.. hehe