Normalde bir dizi Comparator ile kullanılıra aşağıdaki gibi kullanılmaktadır :
List<User> list=new ArrayList<User>();
list.add(new User("Ali Kemal"));
list.add(new User("Ahmet Kaya"));
list.add(new User("Deniz Sert"));
list.add(new User("Mehmet Temiz"));
Collections.sort(list,
new Comparator<User>(){
public int compare(User u1, User u2){
return u1.getName().compareTo(u2.getName());
}
}
);
for (User user : list) {
System.out.println(user.getName());
}
Yukarıdaki örneği Lambda ile yaparsak :
List<User> list=new ArrayList<User>();
list.add(new User("Ali Kemal"));
list.add(new User("Ahmet Kaya"));
list.add(new User("Deniz Sert"));
list.add(new User("Mehmet Temiz"));
Collections.sort(list,
(u1,u2) -> u1.getName().compareTo(u2.getName())
);
for (User user : list) {
System.out.println(user.getName());
}
Görüldüğü gibi kod daha sadeleşmiştir