-- Java SE

Comparator Interface

Java API içerisindeki birçok class(String, Date, Calendar, BigInteger, BıgDecimal ve tüm primitive tipler için olan numeric wrapper classlar) Comparable interface’ini implement eder. Bu Comparable interface’i, bu interface’i implement etmiş sınıfa ait elementleri karşılaştırmak için compareTo metodu tanımlar.

Peki Comparable interface’ini implement etmeyen sınıfların elementleri nasıl karşılaştırılır? Bunun için java.util.Comparator<T> interface’i implement edilir ve compare metodu override edilir.

public int compare(T element1, T element2)
  • Element1, element2 den küçükse negatif değer,
  • Element1 element2’den büyükse pozitif değer,
  • Eşitse sıfır dönderir.

Göstermek amacıyla Person isimli sınıftan iki tane person oluştuşturalım ve bu kişilerin yaşlarını comparator ile karşılaştırıp büyük olanın ismini yazdıralım.

Person.java

PersonComparator.java

TestComparator.java

 

Yorum bırak

Yorum