1、lambda是什么?
lambda 是一种编程思想,用于简化代码书写而产生的一种新的代码规范。
2、lambda的出现原因?
基于很多代码是有一定规律的,而且如果按原有的语法规则进行书写,就会产生大量的代码,那么,lambda的诞生在某些语法上简化了代码的书写,也提高了代码的可读性。
3、什么样的地方可以使用lambda
a、函数式接口,指的是接口内只有一个方法,在使用这个方法的时候我们可以使用lambda来进行。
b、基于线程的创建来使用lambda,如
Runable r = () -> {
System.out.println();
}
new Thread(()->{
System.out.println();
}).start();
c、简化集合类的方法:
List<User> list = new ArrayList();
list.foreach((user) ->{
System.out.println(user.getName());
});
String [] strs = {"1","3","2"};
Arrays.sort(strs, (String i,String j) -> i.compareTo(j));
d、基于stream流的操作:
List<User> list = new ArrayList();
List<User> newList = list.stream().filter(u -> StringUtils.isNotEmpty(u.getName())).collect(toList());