java常用的lambda
时间: 2023-10-22 16:07:17 浏览: 99
Java中常用的Lambda表达式包括以下几种情况:
1. 函数式接口:Lambda表达式主要用于简化函数式接口的实现。函数式接口指的是只有一个抽象方法的接口,可以使用@FunctionalInterface注解来标识。例如:
```java
// 使用Lambda表达式实现Comparator接口
List<Integer> list = new ArrayList<>();
list.sort((a, b) -> a.compareTo(b));
```
2. 集合操作:Lambda表达式可以简化集合操作,如遍历、过滤、映射、归约等。例如:
```java
// 使用Lambda表达式遍历集合
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.forEach(System.out::println);
// 使用Lambda表达式进行集合过滤和映射
List<Integer> evenSquares = list.stream()
.filter(n -> n % 2 == 0)
.map(n -> n * n)
.collect(Collectors.toList());
// 使用Lambda表达式进行集合归约
int sum = list.stream().reduce(0, (a, b) -> a + b);
```
3. 线程和并发:Lambda表达式可以简化线程和并发编程,如线程创建和任务执行等。例如:
```java
// 使用Lambda表达式创建线程
Thread thread = new Thread(() -> System.out.println("Hello, World!"));
thread.start();
// 使用Lambda表达式执行任务
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(() -> System.out.println("Task executed."));
```
这些只是Lambda表达式的一些常见用法,还有很多其他场景可以使用Lambda来简化代码。
阅读全文