Merhabalar uzun zamandır yazamıyordum güzel bir projeye geçiş yaptım burada kullanılan teknolojileri blogumda yansıtmaya çalışacağım;
kullanımları; bir veya birden fazla parametre alabilir parametre almaya bilir
() -> { }
(p1) -> { }
(p1, p2) -> { }
örnek;
interface Drawable{
public void draw();
}
public class LambdaExpressionExample {
public static void main(String[] args) {
int width=10;
Drawable d=new Drawable(){
public void draw(){System.out.println("Drawing "+width);}
};
d.draw();
}
}
//bu kodu şimdi lamda ile yazalım
interface Drawable{
public void draw();
}
public class LambdaExpressionExample {
public static void main(String[] args) {
int width=10;
Drawable d=() ->{
System.out.println("Drawing "+width);
};
d.draw();
}
}
1.Comparator
klasik comparator
Comparator<Developer> byName = new Comparator<Developer>() {
@Override
public int compare(Developer o1, Developer o2) {
return o1.getName().compareTo(o2.getName());
}
};
Yeni biçim ⇓ Comparator<Developer> byName = (Developer o1, Developer o2)->o1.getName().compareTo(o2.getName());
2.foreach
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
3. A list of Strings to Uppercase
List<String> alpha = Arrays.asList("a", "b", "c", "d");
//Before Java8
List<String> alphaUpper = new ArrayList<>();
for (String s : alpha) {
alphaUpper.add(s.toUpperCase());
}
System.out.println(alpha); //[a, b, c, d]
System.out.println(alphaUpper); //[A, B, C, D]
// Java 8
List<String> collect =
alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]
// Extra, streams apply to any data type.
List<Integer> num = Arrays.asList(1,2,3,4,5);
List<Integer> collect1 = num.stream().map(n ->
n*2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]Filter Collection Dat
4. Filter Collection Data
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
class Product{
int id;
String name;
float price;
public Product(int id, String name, float price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
}
public class Filter{
public static void main(String[] args) {
List<Product> list=new ArrayList<Product>();
list.add(new Product(1,"Samsung A5",17000f));
list.add(new Product(3,"Iphone 6S",65000f));
list.add(new Product(2,"Sony Xperia",25000f));
list.add(new Product(4,"Nokia Lumia",15000f));
list.add(new Product(5,"Redmi4 ",26000f));
list.add(new Product(6,"Lenevo Vibe",19000f));
// using lambda to filter data
Stream<Product> filtered_data = list.stream().filter(p -> p.price > 20000);
// using lambda to iterate through collection
filtered_data.forEach(
product -> System.out.println(product.name+": "+product.price)
);
}
}
String new methods
Set<String> set1 = Set.of("a","b", "c");
List<String> list1 = List.of("a","b", "c");