Comparable dan Comparator
Comparable dan Comparator
Dengan mengimplementasikan interface Comparable pada sebuah
class, menyebabkan object-object tersebut bisa dibandingkan
(comparable).
• Interface ini mempunyai sebuah method, compareTo() yang
menentukan bagaimana cara membandingkan antara dua object
dari class tersebut.
• Bentuk methodnya:
public int compareTo(Object o)
• Mehod compareTo() menerima Object, sehingga kita bisa
memasukkan sembarang object, tapi harus mempunyai tipe yang
sama. Kalau object yang kita masukkan adalah object yang berbeda
maka melempar java.lang.ClassCastException
• Return value dari method compareTo()
– 0 jika dua object yang dibandingkan sama.
– Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2
– Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2
2. Penggunaan Class Comparator
Dengan mengimplementasikan interface Comparable kita hanya
bisa menentukan satu cara saja untuk membandingkan objectobject
dari class Person, untuk contoh sebelumnya, yang kita
bandingkan berdasarkan umur.
• Bagaimana jika object-object dari class Person diurutkan
berdasarkan umur, nama awal dan nama akhir? Berarti objectobject
tersebut dibandingkan berdasarkan umur, nama awal dan
nama akhir.
• Kita masih memerlukan dua cara lagi untuk membandingkan objectobject
dari class Person. Kita perlu dua comparator.
• Untuk membuat comparator, buat class yang mengimplementasikan
interface java.util.Comparator, dan method compare().
public int compare(Object o1, Object o2)
• Return value dari method compare()
– 0 jika dua object yang dibandingkan sama.
– Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2
– Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2
Comments
Post a Comment