Lambda表达式
Lambda表达式是一个匿名函数
使用示例:
HashMap <String, String> hashMap = new HashMap <>();
hashMap.put("A","AA");
hashMap.put("B","BB");
hashMap.put("C","CC");
通过lambda来遍历map集合
hashMap.forEach((String k, String v)->{
System.out.println(k+":"+v);
});
ArrayList <Integer> list = new ArrayList <>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
通过lambda来遍历list集合
list.forEach(V -> System.out.println(V));
特点:
1、一个lambda表达式的可以有零个或者多个参数
2、参数的类型可以明确声明,也可以根据上下文进行推断
3、所有的参数都是在圆括号中,(int a)和(a) 表达的含义是一样的
4、参数可以为空 例:()->{}
5、lambda表达式的主体可以包含零条或者多条语句,只有一条语句时,可以省略{}号,如果 有多条语句需要加上{}括号
lambda表达式可以代替匿名内部类使用。
//通过匿名内部类的形式来创建子线程
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("匿名的多线程方式");
}
}).start();
//通过lambda表达式创建多线程
new Thread(()->{
System.out.println("匿名的多线程方式1");
System.out.println("匿名的多线程方式2");
System.out.println("匿名的多线程方式3");
}).start();