Java 8 Lambda Expressions
Java 8 ile gelen lambda işlemlerine ait bazı işlemleri bu yazıda inceleyeceğiz.
Sorting :
Java 8 öncesinde bir sort işlemi şöyle yapabiliyorduk:
Collections.sort(custList, new Comparator() {
public int compare(Custmer c1, Customer c2){
return c1.getId().compareTo(c2.getId());
}
});
Java 8 ile gelen lambda işlemleri ile yukarıda yaptığımız işlemi tek bir satırda artık şöyle yazabiliriz:
custList.sort(Comparator.comparing(Customer::getId));
File Name Validation:
Java 8 öncesinde bir dosyayı validate edebilmek için aşağıdaki koda benzer bir metod yazmamız gerekiyordu.
File[] hiddenFiles = new File("directory_name").listFiles(new FileFilter() { public boolean accept(File file) { return file.getName().endsWith(".xml"); } });
Lambda işlemleri ile yukarıdaki yazdığımız kodu daha basitçe aşağıdaki gibi yazabiliriz.
File[] hiddenFiles = new File("directory_name").listFiles( file -> file.getName().endsWith(".xml"));
Dosya validation işlemine benzer olarak diyelim ki sadece gizli dosyaları almak istedik. Bunu java 8 öncesinde şöyle bir kod yazarak alabilirdik.
File[] hiddenFiles = new File("directory_name").listFiles(new FileFilter() { public boolean accept(File file) { return file.isHidden(); } });
Java 8 ve lambda işlemleri ile bu kodu yine tek satırda kolayca şöyle yazabiliriz.
File[] hiddenFiles = new File("directory_name").listFiles(File::isHidden);
Kaynaklar
https://www.javacodegeeks.com/2020/05/lambda-expressions-before-and-afterjava-8.html