java lambda Stream
时间: 2023-07-07 07:43:31 浏览: 124
Java Lambda表达式和Stream API是Java 8中最为重要的新特性之一。Lambda表达式可以使代码更加简洁、可读性更高,而Stream API则提供了一种函数式编程的方式来对集合进行操作。
Lambda表达式可以被认为是一种匿名函数,可以用来代替Java中的匿名内部类。例如,下面的代码使用匿名内部类来实现接口Runnable:
```
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Hello from a thread!");
}
}).start();
```
使用Lambda表达式可以使代码更加简洁:
```
new Thread(() -> System.out.println("Hello from a thread!")).start();
```
Stream API则提供了一种函数式编程的方式来对集合进行操作。它可以让我们更加方便地进行过滤、映射、排序等操作。例如,下面的代码使用Stream API来对一个字符串列表进行过滤和排序:
```
List<String> names = Arrays.asList("John", "Jane", "Adam", "Tom");
List<String> filteredNames = names.stream()
.filter(name -> !name.startsWith("J"))
.sorted()
.collect(Collectors.toList());
```
在上面的代码中,我们使用了stream()方法来获取一个流,然后使用filter()方法过滤掉以字母J开头的字符串,再使用sorted()方法进行排序,最后使用collect()方法将结果收集到一个列表中。
阅读全文