21 Eylül 2011 Çarşamba

BeanComparator

Bir bean icerisindeki alanı vererek compare işlemi yapabiliriz.
Elimde Variable beanim var. Variable'ın ise name ve label gibi özellikleri var.
allVariables listemin label'a göre sıralı gelmesini istiyorum.
Yapacak olduğum işlem;

BeanComparator compareLabel = new BeanComparator("label", Collator.getInstance(new Locale("tr", "TR")));

Collections.sort(allVariables, compareLabel);


Atrık allVariables listem label'a göre sıralı bir şekilde gelecek. Eğer name'e göre gelmesini isteseydim "label" yerine "name yazmam yeterli olacaktı. Bu sayede ayrı bir comparator yazmak zorunda kalmıyoruz.

7 Eylül 2011 Çarşamba

Collections.sort

Türkçe karkterlerine uygun compare işlemi için...


//Iki farkli sıralama icin
Collections.sort(dataList, new Comparator() {
@Override
public int compare(ReportBean o1,ReportBean o2) {
Collator trCollator = Collator.getInstance(new Locale("tr", "TR"));
int compareTo;

compareTo = o1.getWageDescription().compareTo(o2.getWageDescription());

if(compareTo == 0)
compareTo = o1.getPersSicil().compareTo(o2.getPersSicil());

return compareTo;
}
});